diff --git a/README.md b/README.md index ddb7ebf..ec4c596 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ PowerOn PORTA ist eine Multi-Tenant SaaS-Plattform mit Feature-Store-Modell, AI- | **b-reference/** | Wie das System funktioniert (code-verifiziert) | System verstehen, Architektur-Fragen | | **c-work/** | Laufende Arbeit -- Kanban (plan → build → validate → done) | Feature planen, bauen, testen | | **d-guides/** | How-to: Dev-Setup, Deployment, Testing, Coding-Regeln | Etwas tun, Prozess nachschlagen | -| **e-compliance/** | Sicherheit, Datenschutz, Audit-Dokumente | Regulatorische Fragen | +| **e-compliance/** | Sicherheit, Datenschutz, Audit-Dokumente; **ISO 9001/27001 IMS** unter `e-compliance/ims/` (Handbuch, Politiken, SoA, Prozesse, Cockpit) | Regulatorische Fragen, Zertifizierung | | **f-decisions/** | Entscheidungen (ADR-light): Kontext, Entscheidung, Konsequenz | Warum wurde X so entschieden? | | **z-archive/** | Veraltete Docs mit Forward-Link zum Nachfolger | Historischer Kontext | diff --git a/TOPICS.md b/TOPICS.md index 2f06c88..fc2a9f5 100644 --- a/TOPICS.md +++ b/TOPICS.md @@ -21,6 +21,7 @@ Lade immer zuerst diese Datei. Dann gezielt die passende(n) Referenz-Datei(en). | Gateway-Architektur | b-reference/platform-core/architecture.md | Backend-Module, Services, Interfaces | | AI Agent & Tools | b-reference/platform-core/ai-agent.md | Agent-Verhalten, Tool-Registrierung, RAG | | Agent-Tool File Bridge | b-reference/platform-core/agent-file-bridge.md | Wie Agent-Tool-Outputs (download / writeFile / renderDocument / generateImage / createChart) als ChatDocument im Workflow landen, `docItem:`-Pattern, runAgent Workflow-Propagation | +| Dokumenten-Rendering & Style-System | b-reference/platform-core/document-rendering.md | Rendering-Pipeline (MD->JSON->File), Style-Resolution (4 Schichten: DEFAULT_STYLE -> Agent-Overrides -> AI-Enhancement -> Per-Element), Tabellen-Styling, Renderer-Architektur (PDF/DOCX/PPTX/XLSX/HTML) | | Workflow-Engine | b-reference/platform-core/workflow.md | Methoden, Aktionen, WorkflowManager | | Automation | b-reference/platform-core/automation.md | Graphical Editor, Scheduler, System-Automatisierung (`/automations`, `/api/system/workflow-runs/*`) | | Billing & Subscriptions | b-reference/platform-core/billing.md | Abrechnung, Prepaid, State Machine | @@ -93,5 +94,8 @@ Lade immer zuerst diese Datei. Dann gezielt die passende(n) Referenz-Datei(en). | Thema | Datei | Wann laden | |-------|-------|------------| -| Sicherheitsuebersicht | e-compliance/security-overview.md | Kunden/Audit: DSGVO, RBAC, Verschluesselung | -| Neutralisierung Detail | e-compliance/neutralisierung-detail.md | Technische Neutralisierungs-Flows | +| Sicherheitsübersicht | e-compliance/ims/05_betrieb/security-overview.md | Kunden/Audit: DSGVO, RBAC, Verschlüsselung | +| Neutralisierung Detail | e-compliance/ims/05_betrieb/neutralisierung-detail.md | Technische Neutralisierungs-Flows | +| IMS (ISO 9001 + 27001) | e-compliance/ims/00_IMS-Handbuch.md | Integriertes Managementsystem: Kontext, Politiken, Risiko/SoA, Audit, KVP; Betriebsprozesse in ims/05_betrieb/ | +| IMS Management-Cockpit | e-compliance/ims/cockpit/IMS-Cockpit.html | Offline-HTML zur Navigation/Einsicht aller IMS-Dokumente; neu bauen via build_cockpit.py | +| Pendenzen / Massnahmen | e-compliance/ims/07_verbesserung/massnahmen-register.md | Zentrale Pendenzenliste (CAPA), Quelle fuer Cockpit-Pendenzenseite | diff --git a/e-compliance/2026-03-11-ai-skills-timeline-poweron-vs-claude.pdf b/a-strategy/2026-03-11-ai-skills-timeline-poweron-vs-claude.pdf similarity index 100% rename from e-compliance/2026-03-11-ai-skills-timeline-poweron-vs-claude.pdf rename to a-strategy/2026-03-11-ai-skills-timeline-poweron-vs-claude.pdf diff --git a/b-reference/platform-core/ai-agent.md b/b-reference/platform-core/ai-agent.md index 0d2bb87..7c7dd87 100644 --- a/b-reference/platform-core/ai-agent.md +++ b/b-reference/platform-core/ai-agent.md @@ -269,7 +269,7 @@ herunterladen), gelten drei Schichten: | `walkUdmBlocks` | UDM traversieren: alle `ContentBlock`-Knoten mit Pfad und Kurz-Preview | | `filterUdmByType` | UDM: alle Blöcke mit gegebenem `contentType` (z. B. `table`, `image`) | | `describeImage` | Vision-Analyse | -| `renderDocument` | Dokument rendern | +| `renderDocument` | Dokument rendern (PDF/DOCX/PPTX/XLSX/HTML); optionaler `style`-Parameter fuer Agent-Overrides; AI-enhanced Styling basierend auf Dokumentkontext; Smart Table Styling via `tableStyle` pro Tabelle. Details: `b-reference/platform-core/document-rendering.md` | | `generateImage` | Bildgenerierung | | `createChart` | Chart erzeugen | diff --git a/b-reference/platform-core/document-rendering.md b/b-reference/platform-core/document-rendering.md new file mode 100644 index 0000000..8689fe9 --- /dev/null +++ b/b-reference/platform-core/document-rendering.md @@ -0,0 +1,226 @@ + + + + +# Dokumenten-Rendering & Style-System + +## Ueberblick + +Der **Generation-Service** (`serviceGeneration` / `mainServiceGeneration.py`) wandelt strukturierten JSON-Content in formatierte Dokumente um. Pipeline: **Markdown -> JSON -> Rendered File** (PDF, DOCX, PPTX, XLSX, HTML). + +Styling wird ueber ein **4-Schichten-Modell** aufgeloest — von generischen Defaults bis zu element-spezifischen Overrides. Keine statischen Theme-Presets; stattdessen AI-getriebene kontextuelle Anpassung. + +--- + +## Style-Resolution-Pipeline + +```mermaid +flowchart TD + Default["DEFAULT_STYLE
(Cursor/VS-Code-Aesthetik)"] --> Resolve["resolveStyle()
deep-merge: defaults + agentStyle"] + Resolve --> AI["_enhanceStyleWithAi()
AI Delta basierend auf
Titel, Typ, User-Request"] + AI --> Global["Resolved Global Style
(12 Sektionen)"] + Global --> Convert["_convertUnifiedStyleToInternal()
Renderer-internes Format"] + Convert --> Renderer["Renderer"] + Renderer --> PerElement["Per-Element Overrides
z.B. tableStyle pro Tabelle"] + PerElement --> Final["Gerendertes Element"] +``` + +### Schicht 1: DEFAULT_STYLE (Basis) + +Datei: `styleDefaults.py`. Neutrale, moderne Basis-Aesthetik inspiriert von Cursor/VS-Code Markdown-Rendering. + +| Sektion | Schluessel | Beschreibung | +|---------|-----------|-------------| +| `fonts` | `primary`, `monospace` | Calibri / Consolas | +| `colors` | `primary`, `secondary`, `accent`, `background` | GitHub-inspirierte Farbpalette (#24292e, #586069, #0366d6) | +| `documentTitle` | `sizePt`, `weight`, `color`, `align`, `spaceBeforePt`, `spaceAfterPt` | Dokumenttitel-Formatierung | +| `headings` | `h1`-`h4` mit `sizePt`, `weight`, `color`, `spaceBeforePt`, `spaceAfterPt` | Ueberschriften-Hierarchie | +| `paragraph` | `sizePt`, `lineSpacing`, `color`, `align` | Fliesstext | +| `table` | `headerBg/Fg`, `headerSizePt`, `bodySizePt`, `rowBandingEven/Odd`, `borderColor`, `borderWidthPt`, `borderStyle`, `bandingEnabled`, `cellPaddingPt` | Tabellen-Styling | +| `list` | `bulletChar`, `indentPt`, `sizePt` | Aufzaehlungen | +| `image` | `defaultWidthPt`, `maxWidthPt`, `alignment` | Bild-Defaults | +| `codeBlock` | `fontSizePt`, `background`, `borderColor` | Code-Bloecke | +| `coverPage` | `titleSizePt`, `subtitleSizePt`, `authorSizePt`, `dateSizePt`, `titleColor`, `subtitleColor` | Deckblatt | +| `caption` | `sizePt`, `color`, `italic`, `align` | Bild-/Tabellen-Beschriftungen | +| `page` | `format`, `marginsPt`, `showPageNumbers`, `headerHeight/footerHeight`, `headerLogo`, `headerText`, `footerText` | Seitenlayout | + +### Schicht 2: Agent Explicit Overrides + +Der Agent kann ein `style`-Objekt in `metadata.style` des JSON-Dokuments mitgeben. `resolveStyle(agentStyle)` macht ein rekursives Deep-Merge: `DEFAULT_STYLE <- agentStyle`. Nur explizit gesetzte Keys werden ueberschrieben. + +### Schicht 3: AI Style Enhancement + +`_enhanceStyleWithAi()` in `mainServiceGeneration.py`: + +1. Empfaengt das **vollstaendige** resolved Style-Set als JSON (~920 Bytes) +2. Kontext: Dokumenttitel, Dokumenttyp, User-Request (Auszug) +3. AI liefert ein **Delta-JSON** mit nur den zu aendernden Properties +4. `deepMerge(resolvedStyle, delta)` wendet die Aenderungen an +5. Bei Fehler: graceful fallback auf den unmodifizierten Style + +Beispiele fuer AI-Anpassungen: +- Rechtsschrift: Serif-Fonts, justified Paragraphs +- Finanzbericht: konservative Farben, rechtausgerichtete Zahlen-Spalten +- Marketing: kraeftige Farben, groessere Abstände + +### Schicht 4: Per-Element Overrides + +JSON-Content-Bloecke koennen element-spezifische Style-Overrides tragen. Aktuell unterstuetzt: + +- **`tableStyle`** auf Table-Bloecken: `content.tableStyle` wird per deep-merge mit dem globalen `table`-Style zusammengefuehrt. Erlaubt pro Tabelle eigene Banding-Farben, Border-Style, Column-Alignments etc. +- **`columnAlignments`** auf Table-Bloecken: Explizite Liste (`["left", "right", "center"]`) pro Spalte. + +--- + +## Tabellen-Rendering-Modell + +### Globale Tabellen-Styles + +Aus `DEFAULT_STYLE["table"]`: + +| Key | Default | Beschreibung | +|-----|---------|-------------| +| `headerBg` / `headerFg` | `#f6f8fa` / `#24292e` | Header-Hintergrund und -Textfarbe | +| `headerSizePt` / `bodySizePt` | 10 / 10 | Schriftgroessen | +| `rowBandingEven` / `rowBandingOdd` | `#f6f8fa` / `#FFFFFF` | Alternierende Zeilenfarben | +| `borderColor` / `borderWidthPt` | `#e1e4e8` / 0.5 | Rahmenfarbe und -staerke | +| `borderStyle` | `"grid"` | `grid` (Vollraster), `horizontal` (nur horizontale Linien), `none` (kein Rahmen) | +| `bandingEnabled` | `true` | Aktiviert/deaktiviert Zeilenbanding | +| `cellPaddingPt` | 4 | Zellen-Innenabstand | + +### Per-Table Overrides + +Ein Table-Block im JSON kann ein `tableStyle`-Objekt tragen: + +```json +{ + "content_type": "table", + "elements": [{ + "headers": ["Name", "Betrag", "Datum"], + "rows": [...], + "tableStyle": { + "borderStyle": "horizontal", + "bandingEnabled": false, + "columnAlignments": ["left", "right", "center"] + } + }] +} +``` + +Der Renderer mergt: `globalTableStyle <- perTableStyle` (deep-merge). + +### Spaltenausrichtung + +1. **Explizit:** `tableStyle.columnAlignments` (Array von `"left"` / `"center"` / `"right"`) +2. **Auto-Inferenz** (`_inferColumnAlignments` in BaseRenderer): + - Zahlenspalten (>=60% numerisch) -> `right` + - Datumsspalten (>=60% Datumsformat) -> `center` + - Sonst -> `left` + +--- + +## Renderer-Architektur + +### Basisklasse + +`DocumentRendererBaseTemplate` (ABC) stellt bereit: +- `_convertUnifiedStyleToInternal(style)` — Wandelt das 12-Sektionen Unified-Style-Dict in ein flaches internes Format um +- `_inferColumnAlignments(headers, rows, tableStyle)` — Spaltenausrichtungs-Heuristik +- `_inlineRunsFromContent()` / `_inlineRunsForCell()` / `_inlineRunsForListItem()` — Inline-Run-Normalisierung +- `_lazyResolveImageBase64()` — On-Demand Bild-Aufloesung fuer Grossdokumente + +### Format-Renderer + +| Renderer | Bibliothek | Formate | Besonderheiten | +|----------|-----------|---------|----------------| +| `rendererPdf.py` | ReportLab | PDF | TTF-Font-Registration (`_resolveFontFamily`), Temp-File-Bilder fuer Memory-Effizienz, Emoji-Fallback (NotoEmoji) | +| `rendererDocx.py` | python-docx | DOCX | XML-basierte Tabellen-Borders, Word-Styles fuer h1-h4, Inline-Run-Formatting | +| `rendererPptx.py` | python-pptx | PPTX | Slide-Layout pro Section, RGBColor-Konvertierung, Shape-basierte Bilder | +| `rendererXlsx.py` | openpyxl | XLSX | PatternFill fuer Banding, Side/Border fuer Rahmen, Cell-Anchor fuer Bilder | +| `rendererHtml.py` | Jinja2/String | HTML | CSS-Generierung aus Unified Style, Inline-Styles | + +### Font-Resolution (PDF) + +`_resolveFontFamily(fontName)` in rendererPdf.py: +1. Pruefe ob TTF-Datei unter `assets/fonts/` registrierbar ist +2. Registriere bei ReportLab (`pdfmetrics.registerFont`) +3. Fallback-Kette: gewuenschter Font -> Helvetica (ReportLab Core) -> Courier + +--- + +## AI Style Enhancement — Details + +### Prompt-Struktur + +``` +You are a document styling expert. [...] +Document title: {docTitle} +Document type: {docType} +User request (excerpt): {userHint} + +Current style (full schema): +{vollstaendiges resolvedStyle JSON} + +You may adjust any property: fonts, colors, documentTitle, headings, paragraph, table, list, image, codeBlock, coverPage, caption, page. +[...] +Return ONLY a valid JSON object. +``` + +### Erwartete Antwort + +Ein JSON-Delta-Objekt mit NUR den zu aendernden Keys: + +```json +{ + "fonts": {"primary": "Georgia"}, + "paragraph": {"align": "justified"}, + "colors": {"primary": "#1a1a2e"} +} +``` + +Leeres `{}` = keine Aenderungen noetig. + +### Fehlerbehandlung + +- Leere Antwort -> Original-Style beibehalten +- Ungültiges JSON -> Markdown-Fences strippen, `{` bis `}` extrahieren, nochmal parsen +- Parse-Fehler oder Exception -> Warning loggen, Original-Style beibehalten +- Operation Type: `DATA_GENERATE` + +--- + +## Design-Entscheidungen + +| Datum | Entscheidung | Begruendung | +|-------|-------------|-------------| +| 2026-04-29 | Kein Theme-Katalog, kein Mandate-CI-Konzept | ADR: Agent fuellt generischen Style-Block | +| 2026-06-02 | THEME_PRESETS + documentTheme temporaer eingefuehrt | A3-Reconciliation | +| 2026-06-03 | THEME_PRESETS + documentTheme entfernt, AI-Enhancement statt Presets | Zurueck zum ADR-Original; AI passt kontextbasiert an | +| 2026-06-03 | DEFAULT_STYLE: Cursor/VS-Code-Aesthetik | Moderne, neutrale Basis; GitHub-Farbpalette | +| 2026-06-03 | AI bekommt vollstaendiges Style-Set im Prompt | Alle 12 Sektionen muessen anpassbar sein | +| 2026-06-03 | Per-Table Overrides via content.tableStyle | Jede Tabelle kann eigene Styles haben | +| 2026-06-03 | Auto-Column-Alignment via _inferColumnAlignments | Zahlen rechts, Daten zentriert — ohne AI-Call | + +--- + +## Schluessel-Dateien + +| Datei | Rolle | +|-------|-------| +| `serviceGeneration/styleDefaults.py` | `DEFAULT_STYLE`, `resolveStyle()`, `deepMerge()` | +| `serviceGeneration/mainServiceGeneration.py` | `renderReport()`, `_enhanceStyleWithAi()` | +| `serviceGeneration/renderers/documentRendererBaseTemplate.py` | `BaseRenderer`, `_convertUnifiedStyleToInternal()`, `_inferColumnAlignments()` | +| `serviceGeneration/renderers/rendererPdf.py` | PDF via ReportLab | +| `serviceGeneration/renderers/rendererDocx.py` | DOCX via python-docx | +| `serviceGeneration/renderers/rendererPptx.py` | PPTX via python-pptx | +| `serviceGeneration/renderers/rendererXlsx.py` | XLSX via openpyxl | +| `serviceGeneration/renderers/rendererHtml.py` | HTML via String/Jinja | +| `serviceAgent/coreTools/_mediaTools.py` | `renderDocument` Agent-Tool | + +--- + +## Auch wichtig + +- **Grossdokumente:** Lazy File-Ref-Bilder (`_lazyResolveImageBase64`) + Temp-File-Bilder fuer PDF vermeiden OOM bei vielen eingebetteten Bildern. Siehe `c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md` (A3/AC15). +- **Markdown-Renderer/Text-Renderer** ignorieren `style` (dokumentiert, kein Bug). +- **Agent-Tool `renderDocument`:** Akzeptiert optionalen `style`-Parameter im Tool-Schema; kein `documentTheme`-Parameter mehr. diff --git a/c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md b/c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md index 2982ec5..981ca53 100644 --- a/c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md +++ b/c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md @@ -7,12 +7,19 @@ # AI Reports: Generisches Style-Management, AI-Call-Konfiguration, Inline-Bilder -> **Nachtrag 2026-06-02 (A3-Reconciliation):** Der damalige Entscheid "Theme als reiner +> **Nachtrag 2026-06-02 (A3-Reconciliation, SUPERSEDED):** Der damalige Entscheid "Theme als reiner > Prompt-Hint, keine Renderer-Theme-Presets" wurde teilweise revidiert. `documentTheme` -> ist seit 2026-06 als **agent-ueberschreibbare** Preset-Bibliothek (`THEME_PRESETS`/ -> `resolveTheme` in `styleDefaults.py`) end-to-end an `renderReport` verkabelt. Presets sind -> Defaults, kein Hard-Mandate: ein explizites `style`-Objekt ueberschreibt einzelne -> Preset-Keys weiterhin. Details: c-work/1-plan/2026-06-po-cleanup-neutralization-docgen.md. +> wurde als agent-ueberschreibbare Preset-Bibliothek (`THEME_PRESETS`/`resolveTheme`) verkabelt. +> **Dieser Schritt wurde am 2026-06-03 rueckgaengig gemacht (siehe unten).** + +> **Nachtrag 2026-06-03 (Style-System-Overhaul):** `THEME_PRESETS`, `resolveTheme()` und der +> `documentTheme`-Parameter wurden vollstaendig entfernt — zurueck zum ADR-Originalentscheid +> (kein Theme-Katalog). Stattdessen: AI-getriebene Style-Enhancement (`_enhanceStyleWithAi` +> in `mainServiceGeneration.py`) analysiert Dokumenttitel, -typ und User-Request und liefert +> ein Style-Delta auf den modernisierten `DEFAULT_STYLE` (Cursor/VS-Code-Aesthetik). Neue +> Features: Smart Table Styling (per-table `tableStyle`-Overrides, `borderStyle` grid/horizontal/none, +> `bandingEnabled`, `cellPaddingPt`, automatische `columnAlignments`), `coverPage`- und +> `caption`-Style-Sektionen. Kanonische Referenz: `b-reference/platform-core/document-rendering.md`. ## Beschreibung und Kontext diff --git a/c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md b/c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md index a68607d..ff3c3f7 100644 --- a/c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md +++ b/c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md @@ -173,6 +173,7 @@ Bis dahin gilt als Mitigation der bestehende `writeFile`+`renderDocument(sourceF | 2026-06-02 | A3: Theme-Wahl agent-getrieben via `documentTheme`-Tool-Param (Enum + Beschreibung), kein serverseitiges Auto-Select | ADR-konform (Agent treibt Style); kein zusaetzlicher LLM-Call noetig | | 2026-06-02 | A3: Layout-Primitive = `cover_page` + `image_grid` (Markdown-Fenced-Bloecke); `letterhead`/`multi-column` zurueckgestellt | Hoechster Nutzen (Klageschrift-Titelseite, Marketing-Bildraster); multi-column ist Page-Template-Thema, nicht Block-Primitive | | 2026-06-02 | A3: HTML-first-Backend (WeasyPrint/Chrome) — ENTSCHIEDEN: nein | Lazy+Temp-File-Bilder loesen Memory-Engpass; ADR sagte "kein WeasyPrint-Ersatz" | +| 2026-06-03 | A3: THEME_PRESETS + documentTheme entfernt, AI-Style-Enhancement statt Presets | ADR 2026-04 Originalentscheid wiederhergestellt; AI passt Styles kontextbasiert an statt statischer Presets; Smart Table Styling als Erweiterung | ## Umsetzungs-Checkliste @@ -208,6 +209,7 @@ Bis dahin gilt als Mitigation der bestehende `writeFile`+`renderDocument(sourceF - [x] JSON-Layout-Primitive `cover_page` + `image_grid` (Markdown-Fenced-Bloecke) + PDF/DOCX-Handler; `letterhead`/`multi-column` zurueckgestellt - [x] Grossdokumente: File-Referenz-Bilder statt base64 (Schritt 1) + Temp-File-PDF-Bilder (Schritt 2) - [x] HTML-first-Backend evaluiert -> ENTSCHIEDEN: nein (nicht benoetigt) +- [x] **Nachtrag 2026-06-03:** `THEME_PRESETS` + `documentTheme` nachtraeglich entfernt zugunsten AI-getriebener Style-Enhancement (`_enhanceStyleWithAi`). `DEFAULT_STYLE` auf Cursor/VS-Code-Aesthetik modernisiert. Alle 5 Renderer refactored (Dead-Code entfernt, Hardcodes durch Unified-Style-Reads ersetzt). Folge-Feature: Smart Table Styling (per-table Overrides, borderStyle, bandingEnabled, columnAlignments, coverPage, caption). Kanonische Doku: `b-reference/platform-core/document-rendering.md` ### Querschnitt - [x] RBAC / Permissions: A0 entfernt Chatbot-RBAC-Objekte/Template-Rollen aus Code; A1 Tool-Zugriff ueber bestehende Neutralisierungs-Rechte diff --git a/c-work/4-done/2026-06-style-system-overhaul-smart-tables.md b/c-work/4-done/2026-06-style-system-overhaul-smart-tables.md new file mode 100644 index 0000000..67d03a1 --- /dev/null +++ b/c-work/4-done/2026-06-style-system-overhaul-smart-tables.md @@ -0,0 +1,60 @@ + + + + +# Style-System Overhaul + Smart Table Styling + +## Beschreibung + +Vollstaendige Ueberarbeitung des Dokumenten-Styling-Systems in `serviceGeneration`: + +1. **Statische Presets entfernt:** `THEME_PRESETS`, `resolveTheme()` und der `documentTheme`-Parameter wurden end-to-end entfernt (styleDefaults, mainServiceGeneration, _mediaTools, methodAi, generateDocument, documentPath, mainServiceAi, mainTrustee). Zurueck zum ADR-Originalentscheid 2026-04 (kein Theme-Katalog). + +2. **AI-getriebene Style-Enhancement:** `_enhanceStyleWithAi()` in `mainServiceGeneration.py` analysiert Dokumenttitel, -typ und User-Request und liefert ein JSON-Delta auf den Basis-Style. Das vollstaendige Style-Set (~920 Bytes, alle 12 Sektionen) wird dem AI als Kontext mitgegeben. + +3. **DEFAULT_STYLE modernisiert:** Cursor/VS-Code-inspirierte Basis-Aesthetik (Calibri, GitHub-Farbpalette, subtile Rahmen, leichte Header-Hintergruende). + +4. **Style-Chain-Luecken geschlossen:** + - `_convertUnifiedStyleToInternal()` erweitert um page, image, table font sizes, codeBlock.borderColor, coverPage, caption, table_banding, table_padding, fonts, colors + - Heading-Key-Mismatch in XLSX/PPTX behoben + - DOCX h3/h4 Styles registriert + - Fallback-Farben an DEFAULT_STYLE angeglichen + - HTML Legacy-Pfad (`_getStyleSet`, `_getDefaultStyleSet`) entfernt + +5. **Smart Table Styling:** + - Neue Style-Keys: `borderStyle` (grid/horizontal/none), `bandingEnabled` (Toggle), `cellPaddingPt` + - Per-Table Overrides via `content.tableStyle` im JSON (deep-merge mit globalem Style) + - Automatische Spaltenausrichtung (`_inferColumnAlignments`: Zahlen rechts, Daten zentriert, Text links) + - Neue Schema-Sektionen `coverPage` und `caption` + +6. **Dead Code entfernt:** `_getStyleSet`, `_enhanceStylesWithAI`, `_getDefaultStyleSet`, `_validateStylesContrast` und weitere Legacy-Methoden aus allen 5 Renderern. + +## Entscheidungen + +| Datum | Entscheidung | Begruendung | +|-------|-------------|-------------| +| 2026-06-03 | THEME_PRESETS + documentTheme entfernt | ADR 2026-04 Originalentscheid wiederhergestellt | +| 2026-06-03 | AI-Enhancement statt statischer Presets | Kontextbasierte Anpassung ohne Pflege eines Preset-Katalogs | +| 2026-06-03 | Vollstaendiges Style-Set im AI-Prompt | Alle 12 Sektionen muessen anpassbar sein | +| 2026-06-03 | Per-Table Overrides via content.tableStyle | Jede Tabelle kann eigene Styles haben | +| 2026-06-03 | Auto-Column-Alignment | Deterministische Heuristik ohne AI-Call | + +## Betroffene Dateien + +- `serviceGeneration/styleDefaults.py` — DEFAULT_STYLE, resolveStyle, deepMerge +- `serviceGeneration/mainServiceGeneration.py` — renderReport, _enhanceStyleWithAi +- `serviceGeneration/renderers/documentRendererBaseTemplate.py` — _convertUnifiedStyleToInternal, _inferColumnAlignments +- `serviceGeneration/renderers/rendererPdf.py` — Smart Table, Cover, Caption, Code Border +- `serviceGeneration/renderers/rendererDocx.py` — h3/h4, List, Code, Cover, Caption, Smart Table +- `serviceGeneration/renderers/rendererPptx.py` — Heading-Fix, List, Code, Smart Table +- `serviceGeneration/renderers/rendererXlsx.py` — Heading-Fix, List, Code Border, Smart Table +- `serviceGeneration/renderers/rendererHtml.py` — Legacy entfernt, Heading Spacing, Caption CSS +- `serviceAgent/coreTools/_mediaTools.py` — documentTheme entfernt +- `workflows/methods/methodAi/*` — documentTheme entfernt +- `serviceAi/mainServiceAi.py` — documentTheme entfernt + +## Links + +- Kanonische Referenz: [b-reference/platform-core/document-rendering.md](../../b-reference/platform-core/document-rendering.md) +- ADR: [c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md](2026-04-ai-reports-theming-and-pipeline.md) +- Vorgaenger: [c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md](2026-06-po-cleanup-neutralization-docgen.md) (A3) diff --git a/c-work/_CHANGELOG.md b/c-work/_CHANGELOG.md index 55f97f5..e1d80bf 100644 --- a/c-work/_CHANGELOG.md +++ b/c-work/_CHANGELOG.md @@ -14,6 +14,11 @@ Skip: reine Refactors, Formatting, Lint, Dep-Bumps, Test-only, Wiki-Tippfehler. ## 2026-06-03 +- 2026-06-03 | refactor | platform-core | **Style-System Overhaul: THEME_PRESETS + documentTheme entfernt, AI-Enhancement aktiviert**: `THEME_PRESETS`, `resolveTheme()` und `documentTheme`-Parameter end-to-end entfernt (styleDefaults, mainServiceGeneration, _mediaTools, methodAi, generateDocument, documentPath, mainServiceAi, mainTrustee). Statische Presets ersetzt durch AI-getriebene Style-Enhancement (`_enhanceStyleWithAi` in mainServiceGeneration); DEFAULT_STYLE auf Cursor/VS-Code-Aesthetik modernisiert (Calibri, GitHub-Farben, subtile Rahmen). Dead Code aus allen 5 Renderern entfernt (_getStyleSet, _enhanceStylesWithAI, _getDefaultStyleSet, _validateStylesContrast etc.). (c-work: c-work/4-done/2026-06-style-system-overhaul-smart-tables.md) +- 2026-06-03 | fix | platform-core | **Style-Chain-Luecken geschlossen**: AI-Enhancement-Prompt bekommt jetzt das vollstaendige Style-Set (~920 Bytes) statt nur fonts/colors/table (3 von 12 Sektionen). `_convertUnifiedStyleToInternal` erweitert um page, image, table font sizes, borderWidth, codeBlock.borderColor, coverPage, caption, table_banding, table_padding, fonts, colors. Fallback-Farben an DEFAULT_STYLE angeglichen (#1F3864->#24292e, lineSpacing 1.15->1.5). Heading-Key-Mismatch in XLSX/PPTX behoben (heading->heading{level}); DOCX h3/h4 Styles registriert. +- 2026-06-03 | feat | platform-core | **Smart Table Styling**: Per-Table Style-Overrides via `content.tableStyle` im JSON-Block (deep-merge mit globalem Table-Style). Neue Style-Keys: `borderStyle` (grid/horizontal/none), `bandingEnabled` (Toggle), `cellPaddingPt`. Automatische Spaltenausrichtung (`_inferColumnAlignments`: Zahlen rechts, Daten zentriert, Text links) oder explizit via `columnAlignments`. Neue Schema-Sektionen `coverPage` und `caption` in DEFAULT_STYLE. Alle 5 Renderer (PDF/DOCX/PPTX/XLSX/HTML) implementieren borderStyle-Varianten, banding-Toggle und columnAlignments. +- 2026-06-03 | refactor | platform-core | **HTML-Renderer Legacy-Pfad entfernt**: `_getStyleSet`, `_getDefaultStyleSet` und zugehoerige Legacy-AI-Styling-Logik aus rendererHtml.py entfernt. Nur noch der Unified-Style-Pfad ueber `_convertUnifiedStyleToInternal` + `_generateCssFromUnifiedStyle` ist aktiv. +- 2026-06-03 | docs | wiki | **Kanonische Referenzseite Dokumenten-Rendering**: Neue `b-reference/platform-core/document-rendering.md` dokumentiert die vollstaendige Style-Resolution-Pipeline (DEFAULT_STYLE -> Agent-Overrides -> AI-Enhancement -> Per-Element-Overrides), Table-Rendering-Modell, Renderer-Architektur, Font-Resolution, AI-Style-Enhancement-Prompt. TOPICS.md ergaenzt. ADR- und PO-Cleanup-Docs nachgefuehrt. - 2026-06-03 | refactor | * | **Scope von DataSource entfernt (Datenschutz)**: Scope-Flag, -Icon und -Funktionalitaet komplett aus der UDB (Sources-Tab) entfernt — persoenliche Datenquellen duerfen nicht gescoped werden. DB-Spalte `DataSource.scope` bleibt als deprecated, wird nicht mehr gelesen/geschrieben. UDB-Backend (`udbNodes.py`, `_inheritFlags.py`, `routeUdb.py`), Frontend (`UdbSourcesProvider.tsx`), Ingest (`subConnectorIngestConsumer.py`), Auth (`routeDataSources.py`) bereinigt. Scope existiert nur noch bei Files (folder-files). Wiki (`unified-data-bar.md`) aktualisiert. Tests angepasst. ## 2026-06-02 diff --git a/e-compliance/ims/00_IMS-Handbuch.md b/e-compliance/ims/00_IMS-Handbuch.md new file mode 100644 index 0000000..e6a570b --- /dev/null +++ b/e-compliance/ims/00_IMS-Handbuch.md @@ -0,0 +1,59 @@ + + + + + + + + + + +# IMS-Handbuch -- Integriertes Managementsystem PowerOn AG + +Dachdokument des integrierten Managementsystems (IMS) der PowerOn AG. Das IMS deckt **ISO 9001 (Qualität)** und **ISO/IEC 27001 (Informationssicherheit)** gemeinsam ab. Beide Normen teilen die High-Level-Structure (Annex SL, Kapitel 4-10); dieses Handbuch und die referenzierten Dokumente bilden ein einziges, doppelt verwendetes Dokumentenset. + +## 1. Zweck + +Das IMS stellt sicher, dass PowerOn + +- Produkte und Dienstleistungen in gleichbleibender Qualität liefert (ISO 9001), +- Informationen und Kundendaten vertraulich, integer und verfügbar hält (ISO 27001), +- gesetzliche, vertragliche und regulatorische Anforderungen erfüllt, +- sich kontinuierlich verbessert (KVP) und auditierbar bleibt. + +## 2. Geltungsbereich (Kurzfassung) + +Gesamte PowerOn AG inkl. Entwicklung, Betrieb und Produktmanagement der **PORTA Enterprise KI-Plattform** (`api.poweron.swiss`). Vollständige Fassung: [01_kontext/geltungsbereich-scope.md](01_kontext/geltungsbereich-scope.md). + +## 3. Aufbau des IMS (Navigationskarte) + +| Kapitel (ISO) | Ordner | Inhalt | +|---|---|---| +| 4 Kontext | `01_kontext/` | Kontext & interessierte Parteien, Geltungsbereich | +| 5 Führung | `02_fuehrung/` | QM-Politik, IS-Politik, Rollen | +| 6 Planung | `03_planung/` | Risikomethodik, Risikoregister, SoA, Ziele/KPI | +| 7 Unterstützung | `04_unterstuetzung/` | Kompetenz/Schulung, Kommunikation, Dokumentenlenkung, Register | +| 8 Betrieb + Annex A | `05_betrieb/` | Operative Prozesse & Sicherheits-Controls | +| 9 Bewertung | `06_bewertung/` | Internes Audit, Management-Review, Monitoring | +| 10 Verbesserung | `07_verbesserung/` | Korrekturmassnahmen/KVP, Massnahmenregister | +| Mappings | `mappings/` | SoA/Annex-A-, ISO-9001-Klausel-, CACC-Crosswalk | +| Cockpit | `cockpit/` | HTML-Management-Cockpit (Generator + generierte Datei) | + +## 4. Dokumentenpyramide + +1. **Ebene 1 -- Politiken / Handbuch:** dieses Handbuch, QM-Politik, IS-Politik, Geltungsbereich, Ziele. +2. **Ebene 2 -- Verfahren / Prozesse:** Risiko, Change, Incident, internes Audit, Management-Review, KVP. +3. **Ebene 3 -- Arbeitsanweisungen / Runbooks:** BCM-Runbook, Datenbank-Handling, Deployment. +4. **Ebene 4 -- Records / Nachweise:** Risikoregister, Audit-Berichte, Schulungsnachweise, Logs, Massnahmenregister. + +## 5. Verantwortung der obersten Leitung + +Die Geschäftsführung verpflichtet sich zum Aufbau, Betrieb und zur kontinuierlichen Verbesserung des IMS, stellt die erforderlichen Ressourcen bereit, gibt die Politiken frei und führt das Management-Review durch (Details: [Führung](02_fuehrung/), [Management-Review](06_bewertung/management-review.md)). + +## 6. Dokumentenlenkung + +Alle gelenkten Dokumente tragen einen einheitlichen Metadaten-Header und werden über Git/Forgejo versioniert und per Pull-Request-Review freigegeben. Verfahren: [04_unterstützung/dokumentenlenkung.md](04_unterstuetzung/dokumentenlenkung.md). Zentrale Übersicht: [04_unterstützung/dokumentenregister.md](04_unterstuetzung/dokumentenregister.md). + +## 7. Status des IMS + +Aufbauphase (Fast-Track). Ziel: ein gelebtes, audit-reifes IMS; Auswahl der Zertifizierungsstelle ist bewusst nachgelagert. Offene Punkte werden im [Massnahmenregister](07_verbesserung/massnahmen-register.md) geführt. diff --git a/e-compliance/ims/01_kontext/geltungsbereich-scope.md b/e-compliance/ims/01_kontext/geltungsbereich-scope.md new file mode 100644 index 0000000..887f959 --- /dev/null +++ b/e-compliance/ims/01_kontext/geltungsbereich-scope.md @@ -0,0 +1,47 @@ + + + + + + + + + + +# Geltungsbereich (Scope) des IMS + +**Dokumenttyp:** Grundlagendokument (Pflichtdokument ISO 9001 4.3 / ISO 27001 4.3) + +## 1. Scope-Statement + +> Das integrierte Managementsystem der PowerOn AG umfasst die **Entwicklung, den Betrieb, das Produktmanagement und den Support der PORTA Enterprise KI-Plattform** (Multi-Tenant-SaaS, `api.poweron.swiss`) sowie die zugehörigen unterstützenden Prozesse der gesamten PowerOn AG. +> +> Es deckt **ISO 9001:2015** (Qualitätsmanagement) und **ISO/IEC 27001:2022** (Informationssicherheit) ab. + +## 2. Eingeschlossen + +- Software-Entwicklung (SDLC), Release- und Change-Management. +- Betrieb der Plattform auf Infomaniak Public Cloud (Schweiz): `api.poweron.swiss`, `db.poweron.swiss`. +- Entwicklungs-/Deployment-System (Forgejo, CI/CD). +- Produktmanagement, Anforderungsmanagement, Kundensupport. +- Verwaltung von Drittdiensten/Subunternehmern (inkl. externe LLM-Provider). +- Unterstützungsprozesse: Personal/Kompetenz, Beschaffung, IT-Sicherheit, Dokumentenlenkung. + +## 3. Standorte und Mittel + +- Cloud-Infrastruktur: Infomaniak (Schweiz). +- Verteiltes Klein-Team; Arbeitsmittel und Remote-Zugriff gemäss [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md). + +## 4. Schnittstellen und Abhängigkeiten + +- Externe LLM-Provider (Primär OpenAI/USA) -- Inhaltsdaten verlassen zur KI-Verarbeitung die Schweiz; abgesichert über AVV/DPA + EU-SCC und Neutralisierung. Siehe [Drittanbieter-Inventar](../05_betrieb/20260528_drittanbieter-inventar.md). +- Authentifizierungs-Dienste (Microsoft Entra, Google), E-Mail-Dienste. + +## 5. Ausschlüsse / Nichtanwendbarkeit + +- ISO 9001 Kap. 8.3 (Entwicklung) ist **anwendbar** (PowerOn entwickelt eigenes Produkt) -- kein Ausschluss. +- Annex-A-Controls von ISO 27001 werden nicht pauschal ausgeschlossen; Nichtanwendbarkeit wird einzeln im [SoA](../03_planung/statement-of-applicability-soa.md) begründet (z. B. rein physische Rechenzentrums-Controls, die beim Cloud-Provider liegen). + +## 6. Begründung kompensierender Massnahmen + +Aufgrund der kleinen Teamgrösse ist eine vollständige Funktionstrennung nicht überall möglich. Wo Controls eine grössere Organisation voraussetzen, greifen kompensierende Massnahmen (Vier-Augen-Prinzip bei Releases, Protokollierung privilegierter Zugriffe, externe Vergabe des internen Audits). Diese sind in den jeweiligen Betriebsdokumenten und im SoA dokumentiert. diff --git a/e-compliance/ims/01_kontext/kontext-und-interessierte-parteien.md b/e-compliance/ims/01_kontext/kontext-und-interessierte-parteien.md new file mode 100644 index 0000000..893d4e6 --- /dev/null +++ b/e-compliance/ims/01_kontext/kontext-und-interessierte-parteien.md @@ -0,0 +1,72 @@ + + + + + + + + + + +# Kontext der Organisation & interessierte Parteien + +**Dokumenttyp:** Grundlagendokument +ISO 9001 / 27001 Kap. 4.1-4.2: Bestimmung des organisatorischen Kontexts und der relevanten interessierten Parteien samt deren Anforderungen. + +## 1. Organisation + +PowerOn AG ist ein Schweizer Software-Unternehmen und betreibt die **PORTA Enterprise KI-Plattform** -- eine Multi-Tenant-SaaS-Lösung mit Feature-Store-Modell, AI-Agent-Workspace und mandantenweiter Datenneutralisierung. Zielkunden sind mittlere bis grosse Unternehmen in datenschutzsensiblen Branchen (Finanzwesen, Treuhand, Immobilien, Beratung). Sehr kleines Team (2-5 Personen). + +## 2. Externe Themen (Kontext) + +- Regulatorik: CH nDSG/revDSG, EU-DSGVO, für Bankkunden FINMA-Rundschreiben 2018/3 & 2023/1, GLKB Cloud Assessment (CACC). +- Markt: hohe Erwartung an Datensouveränität (CH-Hosting), KI-Transparenz, Nachweisbarkeit (ISO 27001/9001 als Einkaufskriterium). +- Technologie: Abhängigkeit von externen LLM-Providern (OpenAI USA u. a.), Cloud-Hosting Infomaniak (CH). +- Bedrohungslage: Web-/Cloud-Angriffe, Lieferkettenrisiken, KI-spezifische Risiken (Prompt-Injection, Datenabfluss). + +## 3. Interne Themen (Kontext) + +- Kleines Team -> Rollenbuendelung, eingeschränkte Funktionstrennung (kompensierende Massnahmen). +- Hoher Automatisierungsgrad (Forgejo CI/CD, Infrastruktur, Wiki-basierte Doku). +- Wissenskonzentration auf wenige Personen (Schlüsselpersonenrisiko). + +## 4. Interessierte Parteien und Anforderungen + +| Interessierte Partei | Wesentliche Anforderungen | +|---|---| +| Kunden (inkl. Banken/Treuhänder) | Datenschutz, Vertraulichkeit, Verfügbarkeit (SLA), Nachweise/Zertifikate, Auditierbarkeit | +| Endnutzer | Funktionierende, sichere, performante Plattform; Datenschutzrechte | +| Geschäftsführung/Eigner | Wirtschaftlichkeit, Reputation, Compliance, beherrschbares Risiko | +| Mitarbeitende | Klare Prozesse, sichere Arbeitsmittel, Kompetenzentwicklung | +| Aufsicht/Regulatoren | Einhaltung Datenschutz- und Finanzmarktvorgaben | +| Lieferanten/Subunternehmer | Klare Verträge, AVVs, Sicherheitsanforderungen | +| Zertifizierungsstelle | Normkonformes, gelebtes, nachweisbares Managementsystem | + +## 5. Geltungsbereich des IMS + +Festlegung in [geltungsbereich-scope.md](geltungsbereich-scope.md). + +## 6. Wesentliche Prozesse (Prozesslandkarte) + +```mermaid +flowchart LR + subgraph fuehrung [Führungsprozesse] + F1["Strategie & Management-Review"] + F2["Risiko- & Compliance-Management"] + end + subgraph kern [Kernprozesse] + K1["Produktmanagement & Anforderungen"] + K2["Software-Entwicklung (SDLC)"] + K3["Release & Change Management"] + K4["Betrieb & Support der PORTA-Plattform"] + end + subgraph support [Unterstützungsprozesse] + S1["Beschaffung & Lieferanten"] + S2["Personal & Kompetenz"] + S3["IT-Sicherheit & Infrastruktur"] + S4["Dokumentenlenkung"] + end + F1 --> K1 --> K2 --> K3 --> K4 + F2 --> K2 + support --> kern +``` diff --git a/e-compliance/ims/02_fuehrung/informationssicherheitspolitik.md b/e-compliance/ims/02_fuehrung/informationssicherheitspolitik.md index 8bce818..d0227dd 100644 --- a/e-compliance/ims/02_fuehrung/informationssicherheitspolitik.md +++ b/e-compliance/ims/02_fuehrung/informationssicherheitspolitik.md @@ -1,3 +1,13 @@ + + + + + + + + + + # Informationssicherheitsrichtlinie (ISMS-Dachdokument) **Dokumenttyp:** Richtlinie diff --git a/e-compliance/ims/02_fuehrung/qm-politik.md b/e-compliance/ims/02_fuehrung/qm-politik.md new file mode 100644 index 0000000..c7e46a4 --- /dev/null +++ b/e-compliance/ims/02_fuehrung/qm-politik.md @@ -0,0 +1,35 @@ + + + + + + + + + + +# Qualitätspolitik + +**Dokumenttyp:** Politik (Pflichtdokument ISO 9001 5.2) +**Geltungsbereich:** Gesamte PowerOn AG + +## 1. Unser Qualitätsverständnis + +Die PowerOn AG entwickelt und betreibt mit der PORTA-Plattform sichere, zuverlässige und nutzbringende KI-Lösungen für datenschutzsensible Branchen. Qualität bedeutet für uns: zugesagte Funktionalität, Verfügbarkeit und Sicherheit verlässlich zu liefern und kontinuierlich zu verbessern. + +## 2. Grundsätze + +1. **Kundenorientierung:** Wir verstehen Kundenanforderungen und setzen sie nachvollziehbar in Produkt und Service um. +2. **Nachvollziehbare Prozesse:** Entwicklung, Release und Support folgen dokumentierten, wiederholbaren Prozessen (siehe [Feature-/Release-/Bug-Prozess](../05_betrieb/20260528_feature_release_bugfix.md)). +3. **Qualität vor Tempo:** Vier-Augen-Prinzip, Staging-Verifikation und Akzeptanzkriterien vor jedem Produktiv-Release. +4. **Datenschutz & Sicherheit als Qualitätsmerkmal:** Qualität und Informationssicherheit sind untrennbar (integriertes Managementsystem). +5. **Faktenbasierte Entscheidungen:** Wir steuern über Kennzahlen (siehe [Ziele & Kennzahlen](../03_planung/ziele-und-kennzahlen.md)). +6. **Kontinuierliche Verbesserung:** Abweichungen werden als Chance verstanden und über den [KVP-Prozess](../07_verbesserung/korrekturmassnahmen-und-kvp.md) behandelt. + +## 3. Verpflichtung der Leitung + +Die Geschäftsführung verpflichtet sich zur Erfüllung anwendbarer Anforderungen, zur Bereitstellung der nötigen Ressourcen und zur fortlaufenden Verbesserung des Qualitätsmanagementsystems. Qualitätsziele werden in [Ziele & Kennzahlen](../03_planung/ziele-und-kennzahlen.md) festgelegt und im [Management-Review](../06_bewertung/management-review.md) bewertet. + +## 4. Verbindlichkeit + +Diese Politik ist für alle Mitarbeitenden verbindlich, wird kommuniziert ([Kommunikation](../04_unterstuetzung/kommunikation.md)) und mindestens jährlich auf Angemessenheit überprüft. diff --git a/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md b/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md new file mode 100644 index 0000000..34b9d3a --- /dev/null +++ b/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md @@ -0,0 +1,41 @@ + + + + + + + + + + +# Rollen, Verantwortlichkeiten und Befugnisse + +**Dokumenttyp:** Grundlagendokument (ISO 9001 / 27001 Kap. 5.3) + +Aufgrund der kleinen Teamgrösse (2-5 Personen) werden Rollen gebuendelt. Bündelung ist zulässig; entscheidend ist die dokumentierte, namentliche Zuweisung. Wo Funktionstrennung fehlt, greifen kompensierende Massnahmen. + +## 1. Rollenmatrix + +| Rolle | Verantwortung / Befugnis | Träger | +|---|---|---| +| Oberste Leitung (Geschäftsführung) | Gesamtverantwortung IMS, Freigabe Politiken, Ressourcen, Management-Review | Patrick Motsch (p.motsch@poweron.swiss) | +| Informationssicherheits-Beauftragter (ISB / CISO-Funktion) | ISMS-Pflege, Risikobeurteilung, SoA, Steuerung Annex-A-Controls | Patrick Motsch | +| Qualitätsmanagement-Beauftragter (QMB) | QMS-Pflege, Prozesssteuerung, KVP, Audit-Koordination | Patrick Motsch | +| Dokumentenlenkungs-Verantwortlicher | Pflege Header-Standard, Dokumentenregister, Review-Zyklen | Patrick Motsch | +| Datenschutzverantwortlicher | DSG/DSGVO, AVV-Management | Patrick Motsch | +| Betrieb / DevOps & Incident-Verantwortlicher | Server, Deployment, Backups, Vorfallbehandlung | Patrick Motsch | +| Drittdienst-/Lieferanten-Verantwortlicher | Drittanbieter-Inventar, AVVs, Subunternehmer | Patrick Motsch | +| Risiko-Eigner (Risk Owner) | Verantwortung je wesentlichem Risiko/Asset | gemäss [Risikoregister](../03_planung/risikoregister.md) | +| Interner Auditor | Unabhängige Prüfung des IMS | **Extern, noch zu benennen** (Unabhängigkeit erforderlich) | + +## 2. Hinweis zur Funktionstrennung + +Da derzeit zentrale Rollen bei einer Person liegen, sind folgende kompensierende Massnahmen verbindlich: + +- **Vier-Augen-Prinzip** bei Code-Review und Produktiv-Releases ([feature_release_bugfix.md](../05_betrieb/20260528_feature_release_bugfix.md)). +- **Protokollierung privilegierter Zugriffe** ([Logging & Monitoring](../05_betrieb/11_Logging_und_Monitoring.md)). +- **Internes Audit wird extern vergeben**, um Unabhängigkeit sicherzustellen ([Internes Audit](../06_bewertung/internes-audit.md)). + +## 3. Pflege + +Änderungen an der Rollenzuweisung werden hier nachgeführt und im Management-Review bestätigt. Bei Teamwachstum sind Rollen zu entflechten (insb. interner Auditor, Release-Freigabe vs. Entwicklung). diff --git a/e-compliance/ims/03_planung/risikomanagement-methodik.md b/e-compliance/ims/03_planung/risikomanagement-methodik.md new file mode 100644 index 0000000..34d6b6f --- /dev/null +++ b/e-compliance/ims/03_planung/risikomanagement-methodik.md @@ -0,0 +1,61 @@ + + + + + + + + + + +# Risikomanagement-Methodik + +**Dokumenttyp:** Verfahren (Pflichtdokument ISO 27001 6.1.2) +**Geltungsbereich:** Informationssicherheits- und Qualitätsrisiken im IMS-Scope + +## 1. Zweck + +Dieses Verfahren legt fest, wie PowerOn Risiken und Chancen identifiziert, bewertet, behandelt und überwacht -- für ISO 27001 (Informationssicherheitsrisiken) und ISO 9001 (Risiken/Chancen für die Prozess- und Produktqualität). + +## 2. Vorgehen + +```mermaid +flowchart LR + id["1 Identifikation (Assets, Bedrohungen, Schwachstellen, Prozessrisiken)"] --> an["2 Analyse (Eintritt x Auswirkung)"] + an --> ev["3 Bewertung gegen Akzeptanzkriterien"] + ev --> tr["4 Behandlung (vermeiden/vermindern/übertragen/akzeptieren)"] + tr --> mo["5 Überwachung & Review"] + mo --> id +``` + +## 3. Bewertungsskala + +**Eintrittswahrscheinlichkeit (W)** und **Auswirkung (A)** je 1-4: + +| Stufe | W (Wahrscheinlichkeit) | A (Auswirkung) | +|---|---|---| +| 1 | selten (< 1x/Jahr) | gering (kaum spuerbar) | +| 2 | möglich | spuerbar (begrenzt, intern) | +| 3 | wahrscheinlich | erheblich (Kunde/Daten betroffen) | +| 4 | sehr wahrscheinlich (laufend) | kritisch (Datenverlust, Ausfall, Rechtsbruch) | + +**Risikowert = W x A** (1-16). + +| Risikowert | Klasse | Vorgabe | +|---|---|---| +| 1-3 | niedrig | akzeptieren, beobachten | +| 4-8 | mittel | Behandlung planen, terminiert | +| 9-12 | hoch | Behandlung priorisiert, zeitnah | +| 13-16 | sehr hoch | sofortige Massnahmen, Leitung informieren | + +## 4. Risikoakzeptanzkriterium + +Risiken der Klasse **niedrig** können ohne weitere Massnahme akzeptiert werden. Ab **mittel** ist eine dokumentierte Behandlung mit Owner und Termin erforderlich. Restrisiken ab **hoch** müssen von der obersten Leitung formal akzeptiert werden. + +## 5. Behandlungsoptionen und Bezug zum SoA + +Für Informationssicherheitsrisiken werden Massnahmen primär aus den **ISO 27001 Annex-A-Controls** abgeleitet; die Anwendbarkeit und Umsetzung wird im [Statement of Applicability](statement-of-applicability-soa.md) dokumentiert. Umsetzungsmassnahmen und Restrisiken werden im [Risikoregister](risikoregister.md) geführt; offene Massnahmen laufen ins [Massnahmenregister](../07_verbesserung/massnahmen-register.md). + +## 6. Turnus + +Risikobeurteilung mindestens **jährlich** sowie **anlassbezogen** (wesentliche Architektur-/Prozessänderung, schwerer Incident, neuer wesentlicher Lieferant). Ergebnisse fliessen ins [Management-Review](../06_bewertung/management-review.md). diff --git a/e-compliance/ims/03_planung/risikoregister.md b/e-compliance/ims/03_planung/risikoregister.md new file mode 100644 index 0000000..fa77a57 --- /dev/null +++ b/e-compliance/ims/03_planung/risikoregister.md @@ -0,0 +1,32 @@ + + + + + + + + + + +# Risikoregister + +**Dokumenttyp:** Record (Ergebnis der Risikobeurteilung) +Bewertung gemäss [Risikomanagement-Methodik](risikomanagement-methodik.md). W = Wahrscheinlichkeit, A = Auswirkung, R = W x A. Behandlungsmassnahmen mit Owner/Termin laufen ins [Massnahmenregister](../07_verbesserung/massnahmen-register.md). + +**Stand der Erstbeurteilung:** 2026-06-03 (Entwurf -- in einer Erst-Risikoworkshop-Sitzung zu validieren). + +| ID | Risiko | Kategorie | W | A | R | Klasse | Behandlung | Owner | Annex-A-Bezug | +|---|---|---|---|---|---|---|---|---|---| +| R-01 | Schlüsselpersonenrisiko (Wissen/Zugriffe auf eine Person konzentriert) | Organisation | 3 | 4 | 12 | hoch | Vertretung, Dokumentation, Notfallzugriff (Break-Glass) | Patrick Motsch | A.5.2, A.5.4 | +| R-02 | Abfluss sensibler Inhaltsdaten an externe LLM-Provider (OpenAI/USA) | Datenschutz | 3 | 4 | 12 | hoch | Neutralisierung, AVV/DPA + EU-SCC, Zero-Retention prüfen | Patrick Motsch | A.5.14, A.8.12 | +| R-03 | Fehlende/unbestätigte MFA auf Admin-/Server-Zugängen | Zugriff | 2 | 4 | 8 | mittel | MFA flächendeckend bestätigen/erzwingen | Patrick Motsch | A.5.17, A.8.5 | +| R-04 | Backup nicht wiederherstellbar (Restore nie getestet) | Verfügbarkeit | 2 | 4 | 8 | mittel | Restore-Test durchführen & protokollieren | Patrick Motsch | A.8.13 | +| R-05 | Ausfall Schlüssel-Lieferant (Infomaniak / LLM-Provider) | Lieferkette | 2 | 3 | 6 | mittel | BCM/DR-Plan, Exit-Strategie, Provider-Alternativen | Patrick Motsch | A.5.19, A.5.30 | +| R-06 | Sicherheitsluecke durch verspäteten Patch | Technik | 2 | 3 | 6 | mittel | Patch-/Schwachstellenprozess einhalten | Patrick Motsch | A.8.8 | +| R-07 | Unzureichende Log-Aufbewahrung/Manipulationsschutz | Nachweis | 2 | 3 | 6 | mittel | Retention & Integritätsschutz festlegen | Patrick Motsch | A.8.15 | +| R-08 | Fehlerhafte Release führt zu Produktionsstörung | Qualität | 2 | 3 | 6 | mittel | Staging-Verifikation, Vier-Augen, Rollback | Patrick Motsch | A.8.31 (9001:8.5) | +| R-09 | Prompt-Injection / Missbrauch KI-Funktionen | KI/Technik | 3 | 2 | 6 | mittel | Eingabebereinigung, Read-only DB-Zugriff, Rate-Limit | Patrick Motsch | A.8.28 | + +## Pflegehinweis + +Neue Risiken fortlaufend ergänzen, R bei Massnahmenwirkung neu bewerten (Restrisiko). Restrisiken der Klasse hoch+ erfordern formale Akzeptanz durch die oberste Leitung (Vermerk in Spalte Behandlung oder im Management-Review-Protokoll). diff --git a/e-compliance/ims/03_planung/statement-of-applicability-soa.md b/e-compliance/ims/03_planung/statement-of-applicability-soa.md new file mode 100644 index 0000000..f4b1e5b --- /dev/null +++ b/e-compliance/ims/03_planung/statement-of-applicability-soa.md @@ -0,0 +1,137 @@ + + + + + + + + + + +# Statement of Applicability (SoA) -- ISO/IEC 27001:2022 Annex A + +**Dokumenttyp:** Pflichtdokument (ISO 27001 6.1.3 d) +**Stand:** 2026-06-03 (Entwurf) + +Dieses SoA listet alle 93 Annex-A-Controls (2022) mit Anwendbarkeit, Begründung, Umsetzungsstatus und Verweis auf das umsetzende Dokument. Status: **Umgesetzt / Teilweise / Geplant / N/A**. Offene/teilweise Punkte sind im [Massnahmenregister](../07_verbesserung/massnahmen-register.md) geführt. + +Legende Anwendbarkeit: **Ja** = anwendbar; **N/A** = nicht anwendbar (mit Begründung). Cloud-Betrieb bei Infomaniak (CH): bestimmte physische Controls liegen beim Provider (Anwendbar, "geerbt"). + +## A.5 Organisatorische Controls + +| Control | Titel | Anwend. | Status | Referenz / Begründung | +|---|---|---|---|---| +| A.5.1 | Informationssicherheits-Politiken | Ja | Umgesetzt | [informationssicherheitspolitik.md](../02_fuehrung/informationssicherheitspolitik.md) | +| A.5.2 | Rollen & Verantwortlichkeiten | Ja | Umgesetzt | [rollen-verantwortlichkeiten.md](../02_fuehrung/rollen-verantwortlichkeiten.md) | +| A.5.3 | Aufgabentrennung | Ja | Teilweise | Klein-Team; kompensierend Vier-Augen-Prinzip, externes Audit | +| A.5.4 | Verantwortung der Leitung | Ja | Umgesetzt | [00_IMS-Handbuch.md](../00_IMS-Handbuch.md), Management-Review | +| A.5.5 | Kontakt zu Behörden | Ja | Geplant | Meldewege (EDOEB/FINMA) in [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) festhalten | +| A.5.6 | Kontakt zu Interessengruppen | Ja | Teilweise | Security-Quellen/CERT-Feeds; formalisieren | +| A.5.7 | Threat Intelligence | Ja | Teilweise | [Schwachstellenmanagement](../05_betrieb/10_Schwachstellenmanagement.md) | +| A.5.8 | IS im Projektmanagement | Ja | Umgesetzt | [SDLC](../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md), Tech-Workshop | +| A.5.9 | Inventar der Werte (Assets) | Ja | Teilweise | [Drittanbieter-Inventar](../05_betrieb/20260528_drittanbieter-inventar.md); Asset-Inventar ergänzen | +| A.5.10 | Zulässige Nutzung von Werten | Ja | Geplant | Acceptable-Use in IS-Politik konkretisieren | +| A.5.11 | Rückgabe von Werten | Ja | Geplant | Offboarding-Checkliste ([Mitarbeitersicherheit](../05_betrieb/03_Mitarbeitersicherheit_und_Screening.md)) | +| A.5.12 | Klassifizierung von Information | Ja | Teilweise | Klassifizierungsschema (Header `classification`); ausweiten | +| A.5.13 | Kennzeichnung von Information | Ja | Teilweise | Header-Klassifizierung; Daten-Labeling ergänzen | +| A.5.14 | Informationsübertragung | Ja | Umgesetzt | [Verschlüsselung](../05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md), TLS, [Neutralisierung](../05_betrieb/neutralisierung-detail.md) | +| A.5.15 | Zugangssteuerung | Ja | Umgesetzt | [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md), RBAC | +| A.5.16 | Identitätsmanagement | Ja | Umgesetzt | [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md) | +| A.5.17 | Authentisierungsinformation | Ja | Teilweise | MFA-Status bestätigen (R-03) | +| A.5.18 | Zugangsrechte | Ja | Umgesetzt | [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md) | +| A.5.19 | IS in Lieferantenbeziehungen | Ja | Umgesetzt | [Subunternehmer](../05_betrieb/17_Subunternehmer_Management.md) | +| A.5.20 | IS in Lieferantenvereinbarungen | Ja | Teilweise | AVVs vervollständigen (OpenAI Zero-Retention) | +| A.5.21 | IS in der IKT-Lieferkette | Ja | Teilweise | [Drittanbieter-Inventar](../05_betrieb/20260528_drittanbieter-inventar.md) | +| A.5.22 | Überwachung der Lieferantenleistung | Ja | Geplant | Review-Turnus Lieferanten festlegen | +| A.5.23 | IS bei Nutzung von Cloud-Diensten | Ja | Umgesetzt | Infomaniak (CH); [Netzwerk/Infra](../05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md) | +| A.5.24 | Incident-Management Planung | Ja | Umgesetzt | [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | +| A.5.25 | Bewertung von IS-Ereignissen | Ja | Umgesetzt | [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | +| A.5.26 | Reaktion auf IS-Vorfälle | Ja | Umgesetzt | [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | +| A.5.27 | Lernen aus Vorfällen | Ja | Teilweise | Post-Incident-Review -> [KVP](../07_verbesserung/korrekturmassnahmen-und-kvp.md) | +| A.5.28 | Sammlung von Beweismitteln | Ja | Teilweise | Logs/Forensik in [Logging](../05_betrieb/11_Logging_und_Monitoring.md) | +| A.5.29 | IS während Störung | Ja | Umgesetzt | [BCM/DR](../05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md) | +| A.5.30 | IKT-Bereitschaft für BC | Ja | Umgesetzt | [BCM-Runbook](../05_betrieb/20260528_bcm_runbook.md) | +| A.5.31 | Gesetzliche & vertragliche Anforderungen | Ja | Umgesetzt | [Recht/BestPractice](../05_betrieb/18_Analyse_Recht_und_BestPractice.md), AGB | +| A.5.32 | Geistiges Eigentum | Ja | Teilweise | Lizenz-/OSS-Compliance dokumentieren | +| A.5.33 | Schutz von Aufzeichnungen | Ja | Umgesetzt | [Datenaufbewahrung](../05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md) | +| A.5.34 | Datenschutz & PII-Schutz | Ja | Umgesetzt | [security-overview.md](../05_betrieb/security-overview.md), DSGVO-Funktionen | +| A.5.35 | Unabhängige IS-Prüfung | Ja | Geplant | Externes [internes Audit](../06_bewertung/internes-audit.md) | +| A.5.36 | Konformität mit Politiken | Ja | Teilweise | Audit + Konformitätskontrolle | +| A.5.37 | Dokumentierte Betriebsabläufe | Ja | Umgesetzt | Runbooks in `05_betrieb/` | + +## A.6 Personenbezogene Controls + +| Control | Titel | Anwend. | Status | Referenz / Begründung | +|---|---|---|---|---| +| A.6.1 | Sicherheitsüberprüfung (Screening) | Ja | Teilweise | [Mitarbeitersicherheit](../05_betrieb/03_Mitarbeitersicherheit_und_Screening.md); Hintergrundprüfung klären | +| A.6.2 | Arbeitsvertragsbedingungen | Ja | Teilweise | IS-Klauseln in Verträgen ergänzen | +| A.6.3 | Awareness, Schulung & Ausbildung | Ja | Geplant | [Kompetenz/Schulung](../04_unterstuetzung/ressourcen-kompetenz-schulung.md) | +| A.6.4 | Disziplinarverfahren | Ja | Geplant | Verfahren in HR-Doku festhalten | +| A.6.5 | Verantwortung nach Beendigung | Ja | Teilweise | Offboarding; NDA-Fortgeltung | +| A.6.6 | Vertraulichkeits-/NDA-Vereinbarungen | Ja | Teilweise | NDA-Vorlage sicherstellen | +| A.6.7 | Remote-Arbeit | Ja | Umgesetzt | [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md), VPN/Geräte | +| A.6.8 | Meldung von IS-Ereignissen | Ja | Umgesetzt | [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | + +## A.7 Physische Controls + +Eigene Büro-Infrastruktur minimal (Remote-Team); Rechenzentrums-Controls liegen beim Cloud-Provider Infomaniak (CH) und werden über dessen Zertifizierungen (ISO 27001) geerbt. + +| Control | Titel | Anwend. | Status | Referenz / Begründung | +|---|---|---|---|---| +| A.7.1 | Physische Sicherheitsperimeter | Ja (geerbt) | Umgesetzt | Infomaniak RZ-Zertifizierung | +| A.7.2 | Physischer Zutritt | Ja (geerbt) | Umgesetzt | Infomaniak | +| A.7.3 | Sicherung von Büros/Räumen | Ja | Teilweise | Home-/Büro-Grundschutz | +| A.7.4 | Physische Überwachung | Ja (geerbt) | Umgesetzt | Infomaniak | +| A.7.5 | Schutz vor physischen/umweltbed. Bedrohungen | Ja (geerbt) | Umgesetzt | Infomaniak | +| A.7.6 | Arbeiten in Sicherheitsbereichen | N/A | N/A | Keine eigenen Sicherheitsbereiche | +| A.7.7 | Clear Desk / Clear Screen | Ja | Geplant | Regel in IS-Politik aufnehmen | +| A.7.8 | Platzierung & Schutz von Geräten | Ja | Teilweise | Endgeräte-Richtlinie | +| A.7.9 | Schutz von Werten ausserhalb | Ja | Teilweise | Geräteverschlüsselung | +| A.7.10 | Speichermedien | Ja | Teilweise | Verschlüsselung, sichere Löschung | +| A.7.11 | Versorgungseinrichtungen | Ja (geerbt) | Umgesetzt | Infomaniak | +| A.7.12 | Verkabelungssicherheit | Ja (geerbt) | Umgesetzt | Infomaniak | +| A.7.13 | Instandhaltung von Geräten | Ja | Teilweise | Patch/Wartung Endgeräte | +| A.7.14 | Sichere Entsorgung/Wiederverwendung | Ja | Geplant | Lösch-/Entsorgungsregel | + +## A.8 Technologische Controls + +| Control | Titel | Anwend. | Status | Referenz / Begründung | +|---|---|---|---|---| +| A.8.1 | Endgeräte der Nutzer | Ja | Teilweise | Endgeräte-Richtlinie, Verschlüsselung | +| A.8.2 | Privilegierte Zugangsrechte | Ja | Umgesetzt | [Zugriffsmanagement](../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md) | +| A.8.3 | Informationszugriffsbeschränkung | Ja | Umgesetzt | RBAC, Mandantentrennung | +| A.8.4 | Zugriff auf Quellcode | Ja | Umgesetzt | Forgejo-RBAC | +| A.8.5 | Sichere Authentisierung | Ja | Teilweise | MFA bestätigen (R-03) | +| A.8.6 | Kapazitätsmanagement | Ja | Umgesetzt | [Kapazitätsmanagement](../05_betrieb/16_Kapazitaetsmanagement.md) | +| A.8.7 | Schutz vor Schadsoftware | Ja | Teilweise | Endpoint-Schutz, Dependency-Scans | +| A.8.8 | Management techn. Schwachstellen | Ja | Umgesetzt | [Schwachstellen](../05_betrieb/10_Schwachstellenmanagement.md), [Patch](../05_betrieb/09_Patch_Management.md) | +| A.8.9 | Konfigurationsmanagement | Ja | Teilweise | .env-Trennung; IaC/Konformität ausbauen | +| A.8.10 | Löschung von Information | Ja | Umgesetzt | [Datenaufbewahrung](../05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md), DSGVO-Löschung | +| A.8.11 | Datenmaskierung | Ja | Umgesetzt | [Neutralisierung](../05_betrieb/neutralisierung-detail.md) | +| A.8.12 | Verhinderung von Datenabfluss | Ja | Teilweise | Neutralisierung, Read-only DB-Zugriff KI | +| A.8.13 | Sicherung (Backup) | Ja | Teilweise | [Backup](../05_betrieb/05_Backup_und_Wiederherstellung.md); Restore-Test offen (R-04) | +| A.8.14 | Redundanz von Verarbeitungseinrichtungen | Ja | Teilweise | Provider-Redundanz; dokumentieren | +| A.8.15 | Protokollierung (Logging) | Ja | Umgesetzt | [Logging & Monitoring](../05_betrieb/11_Logging_und_Monitoring.md) | +| A.8.16 | Überwachung von Aktivitäten | Ja | Teilweise | Monitoring ausbauen | +| A.8.17 | Uhrzeitsynchronisation | Ja | Umgesetzt | NTP (Infra) | +| A.8.18 | Nutzung privilegierter Hilfsprogramme | Ja | Teilweise | Einschränkung/Protokollierung | +| A.8.19 | Software-Installation auf Betriebssystemen | Ja | Teilweise | Deployment über CI/CD | +| A.8.20 | Netzwerksicherheit | Ja | Umgesetzt | [Netzwerk/Infra](../05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md) | +| A.8.21 | Sicherheit von Netzwerkdiensten | Ja | Umgesetzt | TLS, Reverse Proxy | +| A.8.22 | Trennung von Netzwerken | Ja | Teilweise | Umgebungstrennung prod/int | +| A.8.23 | Web-Filterung | Ja | Teilweise | CORS, Egress-Kontrolle | +| A.8.24 | Nutzung von Kryptographie | Ja | Umgesetzt | [Verschlüsselung & Schlüsselmgmt](../05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md) | +| A.8.25 | Sicherer Entwicklungslebenszyklus | Ja | Umgesetzt | [SDLC](../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md) | +| A.8.26 | Anforderungen an Anwendungssicherheit | Ja | Umgesetzt | [SDLC](../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md) | +| A.8.27 | Sichere Systemarchitektur & Engineering | Ja | Teilweise | Architektur-Prinzipien dokumentieren | +| A.8.28 | Sicheres Codieren | Ja | Umgesetzt | [Coding-Conventions](../../../d-guides/coding-conventions.md), Review | +| A.8.29 | Sicherheitstests in Entw./Abnahme | Ja | Teilweise | [Testing-Strategie](../../../d-guides/testing-strategy.md), Staging-Verifikation | +| A.8.30 | Ausgelagerte Entwicklung | N/A | N/A | Keine ausgelagerte Entwicklung | +| A.8.31 | Trennung Entw./Test/Produktion | Ja | Umgesetzt | env-prod/env-int, Staging | +| A.8.32 | Change Management | Ja | Umgesetzt | [Change Management](../05_betrieb/08_Change_Management.md) | +| A.8.33 | Testinformation | Ja | Geplant | Umgang mit Produktivdaten in Test klären | +| A.8.34 | Schutz von Systemen bei Audit-Tests | Ja | Teilweise | Auditzugriffe kontrolliert | + +## Pflege + +Bei jeder wesentlichen Änderung von Controls/Risiken aktualisieren. Das SoA wird im [Management-Review](../06_bewertung/management-review.md) bestätigt. Teilweise/Geplant-Einträge spiegeln sich im [Massnahmenregister](../07_verbesserung/massnahmen-register.md). diff --git a/e-compliance/ims/03_planung/ziele-und-kennzahlen.md b/e-compliance/ims/03_planung/ziele-und-kennzahlen.md new file mode 100644 index 0000000..be0a726 --- /dev/null +++ b/e-compliance/ims/03_planung/ziele-und-kennzahlen.md @@ -0,0 +1,47 @@ + + + + + + + + + + +# Ziele & Kennzahlen (Qualität und Informationssicherheit) + +**Dokumenttyp:** Pflichtdokument (ISO 9001 6.2 / ISO 27001 6.2) +**Messperiode:** Kalenderjahr 2026 (Erstfestlegung) + +Ziele sind messbar, terminiert und einem Owner zugeordnet. Die Messung erfolgt gemäss [Monitoring & Messung](../06_bewertung/monitoring-messung.md); Bewertung im [Management-Review](../06_bewertung/management-review.md). + +## 1. Qualitätsziele (ISO 9001) + +| ID | Ziel | Kennzahl (KPI) | Zielwert | Owner | +|---|---|---|---|---| +| Q-1 | Stabile Releases | Anteil Releases ohne Rollback/Hotfix < 48h | >= 95 % | Patrick Motsch | +| Q-2 | Schnelle Fehlerbehebung | Einhaltung Bug-SLOs (kritisch 24h) | >= 90 % | Patrick Motsch | +| Q-3 | Nachvollziehbarkeit | Releases mit vollständigen Release Notes/CHANGELOG | 100 % | Patrick Motsch | +| Q-4 | Kundenzufriedenheit | Bearbeitete Support-Tickets in SLA | >= 90 % | Patrick Motsch | + +## 2. Informationssicherheitsziele (ISO 27001) + +| ID | Ziel | Kennzahl (KPI) | Zielwert | Owner | +|---|---|---|---|---| +| S-1 | Risiken unter Kontrolle | Offene Risiken Klasse hoch+ | 0 unbehandelt | Patrick Motsch | +| S-2 | Aktuelle Systeme | Kritische Schwachstellen gepatcht innert SLA | 100 % | Patrick Motsch | +| S-3 | Wiederherstellbarkeit | Erfolgreiche Restore-Tests pro Jahr | >= 2 | Patrick Motsch | +| S-4 | Zugriffssicherheit | Admin-/Server-Zugänge mit MFA | 100 % | Patrick Motsch | +| S-5 | Awareness | Mitarbeitende mit jährlicher IS-Schulung | 100 % | Patrick Motsch | +| S-6 | Vorfallreaktion | Incidents innerhalb Zielreaktionszeit behandelt | >= 95 % | Patrick Motsch | + +## 3. IMS-Aufbauziel (2026) + +| ID | Ziel | Kennzahl | Zielwert | Termin | +|---|---|---|---|---| +| IMS-1 | Gelebtes, audit-reifes IMS | 1 internes Audit + 1 Management-Review durchgeführt | erfüllt | 2026 Q3 | +| IMS-2 | Dokumentenpflege | Dokumente ohne überfälliges Review | 100 % | laufend | + +## 4. Pflege + +Zielwerte werden jährlich im Management-Review überprüft und neu festgelegt. Abweichungen lösen Massnahmen im [Massnahmenregister](../07_verbesserung/massnahmen-register.md) aus. diff --git a/e-compliance/ims/04_unterstuetzung/dokumentenlenkung.md b/e-compliance/ims/04_unterstuetzung/dokumentenlenkung.md new file mode 100644 index 0000000..67f9589 --- /dev/null +++ b/e-compliance/ims/04_unterstuetzung/dokumentenlenkung.md @@ -0,0 +1,73 @@ + + + + + + + + + + +# Lenkung dokumentierter Information + +**Dokumenttyp:** Verfahren +**Geltungsbereich:** Alle gelenkten Dokumente des IMS + +ISO 9001:2015 Kap. 7.5 und ISO/IEC 27001:2022 Kap. 7.5 verlangen, dass dokumentierte Information erstellt, freigegeben, aktuell gehalten, geschuetzt und gelenkt wird. Dieses Verfahren beschreibt, wie PowerOn das umsetzt -- bewusst schlank und werkzeuggestützt über Git/Forgejo. + +## 1. Einheitlicher Metadaten-Header + +Jedes gelenkte IMS-Dokument beginnt mit folgendem Header (HTML-Kommentar, im gerenderten Markdown unsichtbar, vom Cockpit ausgewertet): + +``` + + + + + + + + + +``` + +| Feld | Bedeutung | +|---|---| +| `docId` | Eindeutige Dokument-ID (Schema: `IMS--`) | +| `status` | `entwurf` (in Arbeit), `freigegeben` (gültig), `abgelöst` (ersetzt/veraltet) | +| `version` | Semantisch: 0.x = Entwurf, ab 1.0 = freigegeben; Minor bei inhaltlichen Änderungen | +| `owner` | Fachlich verantwortliche Person (Pflege) | +| `approver` | Freigebende Person/Gremium | +| `approvedDate` | Datum der letzten Freigabe | +| `nextReview` | Spätestes nächstes Review (Standard: +12 Monate) | +| `classification` | Schutzbedarf gemäss IS-Politik | +| `isoRefs` | Abgedeckte Normklauseln/Annex-A-Controls | + +## 2. Lebenszyklus + +```mermaid +flowchart LR + draft["entwurf (0.x)"] -->|"PR-Review + Freigabe"| released["freigegeben (>=1.0)"] + released -->|"Änderung"| draft + released -->|"ersetzt durch Nachfolger"| retired["abgelöst"] +``` + +1. **Erstellen/Ändern:** Auf Branch, Inhalt + Header pflegen. +2. **Freigabe:** Pull Request mit Review durch zweite Person (Vier-Augen-Prinzip); Merge = Freigabe. `status` -> `freigegeben`, `version` >= 1.0, `approvedDate` + `nextReview` setzen. +3. **Versionierung & Historie:** Git/Forgejo ist die verbindliche Versions- und Änderungshistorie (Commit = Änderungsnachweis). +4. **Ablösung:** Ersetzte Dokumente erhalten `status: abgelöst` und einen Vorwärts-Link zum Nachfolger; sie werden nicht gelöscht (Nachvollziehbarkeit). + +## 3. Review-Zyklus ("gepflegt") + +- Jedes Dokument hat ein `nextReview`-Datum (Standard 12 Monate, anlassbezogen früher). +- Das [Management-Cockpit](../cockpit/) listet überfällige und anstehende Reviews automatisch auf der Pendenzen-Seite. +- Reviews werden im [Dokumentenregister](dokumentenregister.md) nachgeführt; fällige Reviews erzeugen bei Bedarf einen Eintrag im [Massnahmenregister](../07_verbesserung/massnahmen-register.md). + +## 4. Schutz und Zugriff + +- Vertrauliche Dokumente folgen der Klassifizierung der IS-Politik; das Repository ist zugriffsgeschuetzt (Forgejo-RBAC). +- Externe Verteilung nur in freigegebenem Stand; das Cockpit kann als in sich geschlossene HTML zum Teilen erzeugt werden. + +## 5. Externe Dokumente + +Extern vorgegebene Dokumente (Normtexte, Verträge, AVVs der Lieferanten) werden im [Drittanbieter-Inventar](../05_betrieb/20260528_drittanbieter-inventar.md) bzw. als Records referenziert und als solche gekennzeichnet. diff --git a/e-compliance/ims/04_unterstuetzung/dokumentenregister.md b/e-compliance/ims/04_unterstuetzung/dokumentenregister.md new file mode 100644 index 0000000..9977e8c --- /dev/null +++ b/e-compliance/ims/04_unterstuetzung/dokumentenregister.md @@ -0,0 +1,43 @@ + + + + + + + + + + +# Dokumentenregister + +Zentrales Verzeichnis aller gelenkten IMS-Dokumente. Massgeblich für Status, Owner und nächstes Review ist der Header im jeweiligen Dokument; das [Management-Cockpit](../cockpit/) wertet diese automatisch aus. Diese Tabelle dient der manuellen Gesamtübersicht. + +| docId | Dokument | Pfad | Owner | Status | +|---|---|---|---|---| +| IMS-00 | IMS-Handbuch | `00_IMS-Handbuch.md` | Patrick Motsch | entwurf | +| IMS-04-01 | Kontext & interessierte Parteien | `01_kontext/kontext-und-interessierte-parteien.md` | Patrick Motsch | entwurf | +| IMS-04-02 | Geltungsbereich / Scope | `01_kontext/geltungsbereich-scope.md` | Patrick Motsch | entwurf | +| IMS-05-01 | Qualitätspolitik | `02_fuehrung/qm-politik.md` | Patrick Motsch | entwurf | +| IMS-05-02 | Informationssicherheitspolitik | `02_fuehrung/informationssicherheitspolitik.md` | Patrick Motsch | entwurf | +| IMS-05-03 | Rollen & Verantwortlichkeiten | `02_fuehrung/rollen-verantwortlichkeiten.md` | Patrick Motsch | entwurf | +| IMS-06-01 | Risikomanagement-Methodik | `03_planung/risikomanagement-methodik.md` | Patrick Motsch | entwurf | +| IMS-06-02 | Risikoregister | `03_planung/risikoregister.md` | Patrick Motsch | entwurf | +| IMS-06-03 | Statement of Applicability (SoA) | `03_planung/statement-of-applicability-soa.md` | Patrick Motsch | entwurf | +| IMS-06-04 | Ziele & Kennzahlen | `03_planung/ziele-und-kennzahlen.md` | Patrick Motsch | entwurf | +| IMS-07-01 | Ressourcen, Kompetenz & Schulung | `04_unterstuetzung/ressourcen-kompetenz-schulung.md` | Patrick Motsch | entwurf | +| IMS-07-02 | Kommunikation | `04_unterstuetzung/kommunikation.md` | Patrick Motsch | entwurf | +| IMS-07-03 | Lenkung dokumentierter Information | `04_unterstuetzung/dokumentenlenkung.md` | Patrick Motsch | entwurf | +| IMS-07-04 | Dokumentenregister | `04_unterstuetzung/dokumentenregister.md` | Patrick Motsch | entwurf | +| IMS-09-01 | Internes Audit | `06_bewertung/internes-audit.md` | Patrick Motsch | entwurf | +| IMS-09-02 | Management-Review | `06_bewertung/management-review.md` | Patrick Motsch | entwurf | +| IMS-09-03 | Monitoring & Messung | `06_bewertung/monitoring-messung.md` | Patrick Motsch | entwurf | +| IMS-10-01 | Korrekturmassnahmen & KVP | `07_verbesserung/korrekturmassnahmen-und-kvp.md` | Patrick Motsch | entwurf | +| IMS-10-02 | Massnahmenregister | `07_verbesserung/massnahmen-register.md` | Patrick Motsch | entwurf | + +## Betriebsdokumente (Kap. 8 / Annex A) -- `05_betrieb/` + +Die operativen Prozess- und Sicherheitsdokumente (Zugriffsmanagement, Verschlüsselung, Backup, BCM/DR, Incident, Change, Patch, Schwachstellen, Logging, Netzwerk, Datenaufbewahrung, Exit, SDLC, Kapazität, Subunternehmer, Mitarbeitersicherheit) liegen in `05_betrieb/`. Ihre Zuordnung zu ISO-27001-Annex-A-Controls und ISO-9001-Klauseln steht im [SoA](../03_planung/statement-of-applicability-soa.md) bzw. in den [Mappings](../mappings/). + +## Hinweis zur Pflege + +Header-Felder (`owner`, `status`, `nextReview`) werden direkt im Dokument gepflegt. Bei neuen Dokumenten hier eine Zeile ergänzen. Die verbindliche Review-Fälligkeit zeigt das Cockpit. diff --git a/e-compliance/ims/04_unterstuetzung/kommunikation.md b/e-compliance/ims/04_unterstuetzung/kommunikation.md new file mode 100644 index 0000000..52038e1 --- /dev/null +++ b/e-compliance/ims/04_unterstuetzung/kommunikation.md @@ -0,0 +1,38 @@ + + + + + + + + + + +# Kommunikation (intern und extern) + +**Dokumenttyp:** Verfahren (ISO 9001/27001 Kap. 7.4) + +Regelt, **was, wann, mit wem und wie** im Kontext des IMS kommuniziert wird. + +## 1. Interne Kommunikation + +| Was | Wann | Wer -> Wem | Kanal | +|---|---|---|---| +| Politiken, Ziele, IMS-Änderungen | Bei Änderung / jährlich | Leitung -> Team | Wiki, Teammeeting | +| Risiken, offene Massnahmen | laufend | ISB/QMB -> Team | Massnahmenregister, Cockpit | +| Incidents | sofort | Melder -> Incident-Verantwortlicher | definierter Meldeweg | +| Release Notes / Changes | je Release | Release-Verantwortlicher -> Team | CHANGELOG, Wiki | +| Management-Review-Ergebnisse | nach Review | Leitung -> Team | Protokoll | + +## 2. Externe Kommunikation + +| Was | Anlass | Wer -> Wem | Kanal | +|---|---|---|---| +| Datenschutzvorfall / Meldepflicht | gesetzliche Frist | Datenschutzverantw. -> EDOEB/Betroffene/FINMA | gemäss [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | +| Sicherheits-/Compliance-Nachweise | auf Anfrage | Leitung -> Kunde/Prüfer | [security-overview.md](../05_betrieb/security-overview.md), SoA-Auszug | +| Wartung / Maintenance Window | mind. 5 Werktage vorab | Betrieb -> Kunden | E-Mail/Statusseite | +| Lieferantenanforderungen | bei Beauftragung | Lieferanten-Verantw. -> Lieferant | Vertrag/AVV | + +## 3. Grundsatz + +Externe sicherheits-/datenschutzrelevante Kommunikation wird ausschliesslich über die benannten Rollen geführt und im freigegebenen Stand verteilt. diff --git a/e-compliance/ims/04_unterstuetzung/ressourcen-kompetenz-schulung.md b/e-compliance/ims/04_unterstuetzung/ressourcen-kompetenz-schulung.md new file mode 100644 index 0000000..f03e3d0 --- /dev/null +++ b/e-compliance/ims/04_unterstuetzung/ressourcen-kompetenz-schulung.md @@ -0,0 +1,44 @@ + + + + + + + + + + +# Ressourcen, Kompetenz, Awareness & Schulung + +**Dokumenttyp:** Verfahren (ISO 9001/27001 Kap. 7.1-7.3, Annex A.6.3) + +## 1. Ressourcen (7.1) + +Die Geschäftsführung stellt die für Betrieb und Verbesserung des IMS erforderlichen Ressourcen bereit: Personal, Cloud-Infrastruktur (Infomaniak), Entwicklungs-/CI-Systeme (Forgejo), Tooling sowie Budget für externe Unterstützung (z. B. internes Audit, Penetrationstests). + +## 2. Kompetenz (7.2) + +| Kompetenzbereich | Anforderung | Nachweis | +|---|---|---| +| Sichere Softwareentwicklung | Kenntnis SDLC, Secure Coding, Review | Code-Reviews, Schulungsnachweis | +| Betrieb/DevOps | Deployment, Backup/Restore, Incident-Handling | Runbooks, durchgeführte Tests | +| Datenschutz/Compliance | DSG/DSGVO, AVV, ISO-Grundlagen | Schulungsnachweis | +| Informationssicherheit | Risiko, Annex-A-Controls | Schulungsnachweis | + +Kompetenzluecken werden im Management-Review identifiziert und über Schulung/externe Unterstützung geschlossen. Kompetenznachweise (Zertifikate, Kursteilnahmen) werden als Records abgelegt. + +## 3. Awareness (7.3 / A.6.3) + +- Alle Mitarbeitenden werden im Onboarding auf IS-Politik, QM-Politik und Meldewege verpflichtet. +- Jährliche Auffrischung zu Informationssicherheit und Datenschutz (Ziel S-5: 100 %). +- Anlassbezogene Sensibilisierung nach relevanten Incidents. + +## 4. Schulungsnachweis (Record-Vorlage) + +| Datum | Person | Thema | Form | Nachweis | +|---|---|---|---|---| +| | | | | | + +## 5. Pflege + +Schulungsplanung und -nachweise werden jährlich aktualisiert; offene Schulungen laufen ins [Massnahmenregister](../07_verbesserung/massnahmen-register.md). diff --git a/e-compliance/ims/05_betrieb/20260528_feature_release_bugfix.md b/e-compliance/ims/05_betrieb/20260528_feature_release_bugfix.md index 7895429..fda4acd 100644 --- a/e-compliance/ims/05_betrieb/20260528_feature_release_bugfix.md +++ b/e-compliance/ims/05_betrieb/20260528_feature_release_bugfix.md @@ -396,7 +396,7 @@ fix/payment-status-mapping 10. Release in Produktion, 11. Dokumentation in Release Notes / CHANGELOG, 12. Information an Melder, -13. Ticket schließen. +13. Ticket schliessen. --- @@ -566,11 +566,11 @@ Name des Release-Verantwortlichen # 12. Freigabe und Review des Prozesses -Dieser Prozess sollte regelmäßig überprüft werden, mindestens jedoch: +Dieser Prozess sollte regelmässig überprüft werden, mindestens jedoch: - bei wesentlichen Änderungen am Entwicklungsprozess, - bei Einführung neuer Tools, -- nach größeren Incidents, +- nach grösseren Incidents, - vor externen Audits, - mindestens einmal jährlich. diff --git a/e-compliance/ims/05_betrieb/neutralisierung-detail.md b/e-compliance/ims/05_betrieb/neutralisierung-detail.md index afe138d..a7847c7 100644 --- a/e-compliance/ims/05_betrieb/neutralisierung-detail.md +++ b/e-compliance/ims/05_betrieb/neutralisierung-detail.md @@ -18,7 +18,7 @@ Drei Quellen, von breit nach spezifisch: |--------|-------------|-----------| | **Feature-Instanz** | `DataNeutraliserConfig.enabled` (hat `featureInstanceId` + `mandateId`) | Alle Daten in dieser Feature-Instanz werden neutralisiert. Betrifft jeden Content-Einstieg innerhalb dieser Instanz. | | **Chat-Workflow / Session** | `ServiceCenterContext.requireNeutralization` (gesetzt z. B. vom AI-Workspace oder Automation) | Dieser Workflow/Turn: jeder Content, der hier verarbeitet wird, wird neutralisiert. | -| **Dokument oder Quelle** | `FileItem.neutralize`, `FileFolder.neutralize`, `DataSource.neutralize`, `FeatureDataSource.neutralize`, `FeatureDataSource.neutralizeFields` | Dieses konkrete Objekt: Content daraus wird neutralisiert, egal ob die Feature-Instanz oder der Workflow es sonst fordern würden. `FileFolder.neutralize` propagiert auf alle enthaltenen Dateien. `neutralizeFields` ermoeglicht Feld-Level-Maskierung bei DB-Queries. | +| **Dokument oder Quelle** | `FileItem.neutralize`, `FileFolder.neutralize`, `DataSource.neutralize`, `FeatureDataSource.neutralize`, `FeatureDataSource.neutralizeFields` | Dieses konkrete Objekt: Content daraus wird neutralisiert, egal ob die Feature-Instanz oder der Workflow es sonst fordern würden. `FileFolder.neutralize` propagiert auf alle enthaltenen Dateien. `neutralizeFields` ermöglicht Feld-Level-Maskierung bei DB-Queries. | **Auswertung:** Irgendeine Quelle sagt `True` → neutralisieren. Keine Quelle kann eine andere aufheben. Es gibt kein `False`-Override, das ein `True` von woanders aushebelt. @@ -59,7 +59,7 @@ Eine Engine, drei Einstiege, aufgerufen an den Content-Einstiegspunkten aus Absc | `processBinaryBytes` / `Async` | Bytes + Dateiname + MIME | **Ist** | | **`processImage(imageBytes, fileName)`** / `processImageAsync` | Bild-Datei oder Bild-ContentPart (image/png, image/jpeg, …) | **Ist** (seit ~2026 Q1) | -**Ist-Zustand Bilder (aktualisiert 2026-04-05):** `processImageAsync` ist implementiert und nutzt `NEUTRALIZATION_IMAGE` (Private LLM Vision). `_processBinaryFile` verarbeitet jetzt Bild-Parts ueber `processImageAsync`. **Einschraenkung:** Eigenstaendige Bild-Dateien (`image/*` MIME direkt an `processFile`) werden in `_isBinaryMimeType` weiterhin als Skip behandelt. +**Ist-Zustand Bilder (aktualisiert 2026-04-05):** `processImageAsync` ist implementiert und nutzt `NEUTRALIZATION_IMAGE` (Private LLM Vision). `_processBinaryFile` verarbeitet jetzt Bild-Parts über `processImageAsync`. **Einschränkung:** Eigenständige Bild-Dateien (`image/*` MIME direkt an `processFile`) werden in `_isBinaryMimeType` weiterhin als Skip behandelt. **Ist (aktualisiert):** `processImageAsync` existiert als Einstieg. Ruft internes Vision-Modell (`NEUTRALIZATION_IMAGE` → Private-LLM) auf, um sensible Inhalte in Bildern zu erkennen/entfernen. Kein externer Provider. Modell nicht verfügbar → Bild blockieren (nicht unbehandelt weiterreichen). diff --git a/e-compliance/ims/05_betrieb/security-overview.md b/e-compliance/ims/05_betrieb/security-overview.md index 0d72d31..c220d00 100644 --- a/e-compliance/ims/05_betrieb/security-overview.md +++ b/e-compliance/ims/05_betrieb/security-overview.md @@ -35,7 +35,7 @@ Nutzer können über eine Self-Service-Funktion sämtliche über sie gespeichert - Mandatszugehörigkeiten und zugewiesene Rollen - Zugriffsrechte auf Funktionsmodule - Erstellte und eingelöste Einladungen -- Zeitpunkte der Kontoerstellung und letzten Anmeldung +- Zeitpunkte der Kontörstellung und letzten Anmeldung Der Export umfasst alle auf Plattformebene gespeicherten Daten. Feature-spezifische Daten (z.B. Chat-Verläufe, Treuhandpositionen) können über die jeweiligen Funktionsmodule eingesehen werden. diff --git a/e-compliance/ims/06_bewertung/internes-audit.md b/e-compliance/ims/06_bewertung/internes-audit.md new file mode 100644 index 0000000..e7ac6a4 --- /dev/null +++ b/e-compliance/ims/06_bewertung/internes-audit.md @@ -0,0 +1,52 @@ + + + + + + + + + + +# Internes Audit + +**Dokumenttyp:** Verfahren (Pflicht ISO 9001/27001 Kap. 9.2) + +## 1. Zweck + +Das interne Audit prüft regelmässig, ob das IMS den Normanforderungen (ISO 9001, ISO 27001) und den eigenen Vorgaben entspricht und wirksam umgesetzt ist. + +## 2. Unabhängigkeit + +Auditoren dürfen ihre eigene Arbeit nicht prüfen. Aufgrund der Teamgrösse wird das interne Audit **an eine externe, unabhängige Person/Stelle vergeben**. Die Auswahl wird dokumentiert. + +## 3. Auditprogramm + +| Element | Vorgabe | +|---|---| +| Turnus | Mindestens 1x jährlich, gesamtes IMS über max. 1 Zyklus | +| Umfang | Kap. 4-10 beider Normen + Annex-A-Controls (risikoorientiert priorisiert) | +| Erstes Audit | 2026 Q3 (Voraussetzung für Audit-Reife) | +| Kriterien | Normtext, IMS-Dokumente, SoA, gesetzliche/vertragliche Anforderungen | + +## 4. Ablauf + +```mermaid +flowchart LR + plan["Auditplan (Umfang, Termin, Kriterien)"] --> exec["Durchführung (Interviews, Nachweise, Stichproben)"] + exec --> report["Auditbericht (Feststellungen, Abweichungen)"] + report --> capa["Korrekturmassnahmen ins Massnahmenregister"] + capa --> followup["Nachverfolgung & Wirksamkeitsprüfung"] +``` + +## 5. Feststellungsklassen + +| Klasse | Bedeutung | Folge | +|---|---|---| +| Hauptabweichung (major) | Norm-/Systemanforderung nicht erfüllt | sofortige Korrekturmassnahme | +| Nebenabweichung (minor) | punktuelle Schwäche | terminierte Korrekturmassnahme | +| Hinweis / Verbesserungspotenzial | Empfehlung | KVP-Prüfung | + +## 6. Nachweise / Records + +Auditplan, Auditbericht und Massnahmen werden als Records abgelegt; Abweichungen werden im [Massnahmenregister](../07_verbesserung/massnahmen-register.md) (Quelle: Audit) geführt. Ergebnisse sind Input für das [Management-Review](management-review.md). diff --git a/e-compliance/ims/06_bewertung/management-review.md b/e-compliance/ims/06_bewertung/management-review.md new file mode 100644 index 0000000..19819f7 --- /dev/null +++ b/e-compliance/ims/06_bewertung/management-review.md @@ -0,0 +1,67 @@ + + + + + + + + + + +# Management-Review + +**Dokumenttyp:** Verfahren + Protokollvorlage (Pflicht ISO 9001/27001 Kap. 9.3) + +## 1. Zweck und Turnus + +Die oberste Leitung bewertet das IMS mindestens **jährlich** sowie anlassbezogen auf Eignung, Angemessenheit und Wirksamkeit und entscheidet über Verbesserungen und Ressourcen. + +## 2. Eingaben (Inputs) + +- Status Massnahmen aus vorherigen Reviews +- Änderungen interner/externer Themen ([Kontext](../01_kontext/kontext-und-interessierte-parteien.md)) +- Erfüllung der [Ziele & Kennzahlen](../03_planung/ziele-und-kennzahlen.md) +- Ergebnisse [interner Audits](internes-audit.md) +- Risikolage / [Risikoregister](../03_planung/risikoregister.md) + SoA-Status +- Incidents, Abweichungen, Reklamationen +- Rückmeldungen interessierter Parteien (Kunden, Lieferanten) +- Stand offener Pendenzen ([Massnahmenregister](../07_verbesserung/massnahmen-register.md)) + +## 3. Ergebnisse (Outputs) + +- Bewertung der IMS-Wirksamkeit +- Entscheidungen zu Verbesserungen, Zielen, Ressourcen +- neue/aktualisierte Massnahmen mit Owner und Termin +- ggf. Anpassung von Politiken, Scope, SoA + +## 4. Protokollvorlage + +```markdown +# Management-Review-Protokoll + +Datum: +Teilnehmende: +Berichtsperiode: + +## Inputs (Zusammenfassung) +- Zielerreichung: ... +- Audit-Ergebnisse: ... +- Risiken/SoA: ... +- Incidents/Abweichungen: ... +- Rückmeldungen: ... + +## Bewertung +- Eignung/Angemessenheit/Wirksamkeit: ... + +## Entscheidungen & Massnahmen +| Massnahme | Owner | Termin | +|---|---|---| +| | | | + +## Nächstes Review: +Freigabe (Geschäftsführung): +``` + +## 5. Records + +Jedes Protokoll wird als Record abgelegt. Das erste Management-Review (2026 Q3) ist Voraussetzung für die Audit-Reife. diff --git a/e-compliance/ims/06_bewertung/monitoring-messung.md b/e-compliance/ims/06_bewertung/monitoring-messung.md new file mode 100644 index 0000000..9a70009 --- /dev/null +++ b/e-compliance/ims/06_bewertung/monitoring-messung.md @@ -0,0 +1,32 @@ + + + + + + + + + + +# Monitoring, Messung, Analyse und Bewertung + +**Dokumenttyp:** Verfahren (Pflicht ISO 9001/27001 Kap. 9.1) + +## 1. Was wird gemessen + +| Gegenstand | Kennzahl | Quelle | Frequenz | Owner | +|---|---|---|---|---| +| Qualitätsziele Q-1..Q-4 | siehe [Ziele](../03_planung/ziele-und-kennzahlen.md) | Tickets, Releases, CHANGELOG | quartalsweise | Patrick Motsch | +| Sicherheitsziele S-1..S-6 | siehe [Ziele](../03_planung/ziele-und-kennzahlen.md) | Risikoregister, Patch-/Incident-Logs | quartalsweise | Patrick Motsch | +| Verfügbarkeit Plattform | Uptime % | Monitoring/Statusseite | laufend | Patrick Motsch | +| Vorfälle | Anzahl, Schweregrad, Reaktionszeit | [Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md) | je Vorfall | Patrick Motsch | +| Dokumentenpflege | überfällige Reviews | [Cockpit](../cockpit/) | laufend | Patrick Motsch | +| Schwachstellen | offen/behoben, SLA-Treue | [Schwachstellen](../05_betrieb/10_Schwachstellenmanagement.md) | laufend | Patrick Motsch | + +## 2. Analyse und Bewertung + +Die Kennzahlen werden quartalsweise zusammengefasst und im [Management-Review](management-review.md) bewertet. Zielverfehlungen lösen Einträge im [Massnahmenregister](../07_verbesserung/massnahmen-register.md) aus. + +## 3. Werkzeuge + +Das [Management-Cockpit](../cockpit/) liefert die laufende Sicht auf Dokumentenstatus, fällige Reviews und offene Pendenzen. Betriebskennzahlen stammen aus Monitoring, Forgejo und den Betriebs-Records. diff --git a/e-compliance/ims/07_verbesserung/korrekturmassnahmen-und-kvp.md b/e-compliance/ims/07_verbesserung/korrekturmassnahmen-und-kvp.md new file mode 100644 index 0000000..1567a1a --- /dev/null +++ b/e-compliance/ims/07_verbesserung/korrekturmassnahmen-und-kvp.md @@ -0,0 +1,47 @@ + + + + + + + + + + +# Korrekturmassnahmen & kontinuierliche Verbesserung (KVP) + +**Dokumenttyp:** Verfahren (Pflicht ISO 9001/27001 Kap. 10) + +## 1. Zweck + +Abweichungen (Nichtkonformitäten), Vorfälle, Reklamationen und Verbesserungsideen werden systematisch erfasst, behandelt und auf Wirksamkeit geprüft. Ziel ist die kontinuierliche Verbesserung des IMS. + +## 2. Ablauf der Korrekturmassnahme + +```mermaid +flowchart LR + erfassen["1 Abweichung erfassen (Massnahmenregister)"] --> sofort["2 Sofortmassnahme / Eindämmung"] + sofort --> ursache["3 Ursachenanalyse (Root Cause)"] + ursache --> massnahme["4 Korrekturmassnahme definieren (Owner, Termin)"] + massnahme --> umsetzen["5 Umsetzen"] + umsetzen --> wirksam["6 Wirksamkeit prüfen"] + wirksam --> schliessen["7 Schliessen + dokumentieren"] +``` + +## 3. Quellen von Abweichungen/Pendenzen + +- Interne Audits ([internes-audit.md](../06_bewertung/internes-audit.md)) +- Sicherheitsvorfälle ([Incident Response](../05_betrieb/07_Incident_Response_und_Meldewesen.md)) +- Risikobehandlung ([Risikoregister](../03_planung/risikoregister.md)) +- Zielverfehlungen ([Monitoring](../06_bewertung/monitoring-messung.md)) +- Kundenreklamationen, Lieferantenprobleme +- Überfällige Dokumenten-Reviews +- Verbesserungsvorschläge + +## 4. Führung im Massnahmenregister + +Alle Korrektur- und Verbesserungsmassnahmen werden zentral im [Massnahmenregister](massnahmen-register.md) geführt (Single Source of Truth). Das [Cockpit](../cockpit/) aggregiert daraus zusammen mit überfälligen Reviews und `[ZU PRÜFEN]`-Markern eine Gesamtsicht der Pendenzen. + +## 5. Kontinuierliche Verbesserung + +Trends (wiederkehrende Abweichungen, Incident-Muster) werden im [Management-Review](../06_bewertung/management-review.md) bewertet und führen zu präventiven Verbesserungen an Prozessen, Controls oder Dokumenten. diff --git a/e-compliance/ims/07_verbesserung/massnahmen-register.md b/e-compliance/ims/07_verbesserung/massnahmen-register.md new file mode 100644 index 0000000..456f9f6 --- /dev/null +++ b/e-compliance/ims/07_verbesserung/massnahmen-register.md @@ -0,0 +1,38 @@ + + + + + + + + + + +# Massnahmenregister (Pendenzen) + +**Dokumenttyp:** Record (zentrale Pendenzenliste -- Single Source of Truth) + +Zentrale Liste aller Korrektur- und Verbesserungsmassnahmen. Das [Management-Cockpit](../cockpit/) liest diese Tabelle und führt sie auf der Pendenzen-Seite mit überfälligen Reviews und `[ZU PRÜFEN]`-Markern zusammen. + +**Spalten-Schema (bitte exakt einhalten):** `ID | Titel | Owner | Quelle | Erstellt | Faellig | Status` +**Status-Werte:** `offen`, `in Arbeit`, `erledigt`. **Quelle-Werte:** `Audit`, `Review`, `Risiko`, `Incident`, `Doku`, `Sonstiges`. + +| ID | Titel | Owner | Quelle | Erstellt | Fällig | Status | +|---|---|---|---|---|---|---| +| M-01 | MFA auf Admin-/Server-Zugängen bestätigen/erzwingen | Patrick Motsch | Risiko | 2026-06-03 | 2026-07-15 | offen | +| M-02 | Restore-Test durchführen und protokollieren | Patrick Motsch | Risiko | 2026-06-03 | 2026-06-30 | offen | +| M-03 | AVV/Zero-Retention mit OpenAI und weiteren LLM-Providern ablegen | Patrick Motsch | Risiko | 2026-06-03 | 2026-07-31 | offen | +| M-04 | Log-Aufbewahrungsdauer und Manipulationsschutz festlegen | Patrick Motsch | Risiko | 2026-06-03 | 2026-07-31 | offen | +| M-05 | Verschlüsselung at-rest der Infomaniak-DB bestätigen | Patrick Motsch | Risiko | 2026-06-03 | 2026-06-30 | offen | +| M-06 | Entscheidung zu Produktivdaten in Testumgebung treffen | Patrick Motsch | Doku | 2026-06-03 | 2026-07-15 | offen | +| M-07 | Hintergrundprüfungen bei Einstellung klären | Patrick Motsch | Risiko | 2026-06-03 | 2026-08-15 | offen | +| M-08 | Externen internen Auditor benennen und beauftragen | Patrick Motsch | Audit | 2026-06-03 | 2026-07-15 | offen | +| M-09 | Erstes internes Audit durchführen | Patrick Motsch | Audit | 2026-06-03 | 2026-09-30 | offen | +| M-10 | Erstes Management-Review durchführen | Patrick Motsch | Review | 2026-06-03 | 2026-09-30 | offen | +| M-11 | Risikoworkshop zur Validierung des Risikoregisters | Patrick Motsch | Risiko | 2026-06-03 | 2026-06-30 | offen | +| M-12 | Asset-Inventar erstellen (A.5.9) | Patrick Motsch | Doku | 2026-06-03 | 2026-08-31 | offen | +| M-13 | Politiken formal freigeben (Status entwurf -> freigegeben) | Patrick Motsch | Doku | 2026-06-03 | 2026-07-31 | offen | + +## Pflegehinweis + +Neue Pendenzen mit fortlaufender ID ergänzen. Bei Abschluss `Status = erledigt` setzen (Zeile bleibt für Nachweis erhalten). Überfällige Einträge (Fällig < heute, Status != erledigt) hebt das Cockpit rot hervor. diff --git a/e-compliance/ims/cockpit/IMS-Cockpit.html b/e-compliance/ims/cockpit/IMS-Cockpit.html new file mode 100644 index 0000000..dace46f --- /dev/null +++ b/e-compliance/ims/cockpit/IMS-Cockpit.html @@ -0,0 +1,2266 @@ + + + + + +PowerOn IMS - Management Cockpit + + + +
+ +
+
Dashboard
+
+
+
+ + + + + diff --git a/e-compliance/ims/cockpit/README.md b/e-compliance/ims/cockpit/README.md new file mode 100644 index 0000000..bdd9fb1 --- /dev/null +++ b/e-compliance/ims/cockpit/README.md @@ -0,0 +1,37 @@ +# IMS Management Cockpit + +Offline nutzbares HTML-Cockpit zur Navigation und Einsicht aller IMS-Dokumente. + +## Nutzen + +`IMS-Cockpit.html` per Doppelklick im Browser öffnen. Es enthält alle IMS-Dokumente +gerendert (Markdown -> HTML), einen Navigationsbaum nach ISO-Kapitel, Volltextsuche, +ein Dashboard (Dokumentenzahl, Status, überfällige Reviews) und eine Pendenzen-Seite +(Massnahmenregister + überfällige Reviews + `[ZU PRÜFEN]`-Marker). Mermaid-Diagramme +sind eingebettet und werden offline gerendert. Keine Internetverbindung nötig. + +## Neu generieren (nach Doku-Änderungen) + +```bash +python build_cockpit.py +``` + +Das aktualisiert `IMS-Cockpit.html`. Beim ersten Lauf wird `mermaid.min.js` einmalig +vom CDN geladen und unter `_vendor/` zwischengespeichert; danach läuft der Build offline. + +## Hintergrund (technisch) + +Browser blockieren `fetch()` lokaler Dateien unter `file://`. Deshalb wird der gerenderte +Inhalt zur Build-Zeit in die HTML eingebettet (eine portable Datei, Mermaid inline) -- so +genügt ein Doppelklick. Der Generator hat keine externen Python-Abhängigkeiten. + +## Automatisierung (optional) + +`python build_cockpit.py` kann als Forgejo-CI-Schritt oder Pre-Commit-Hook laufen, damit +das Cockpit bei jeder Doku-Änderung automatisch aktuell bleibt. + +## Dateien + +- `build_cockpit.py` -- Generator +- `IMS-Cockpit.html` -- generierte Cockpit-Datei (Doppelklick) +- `_vendor/mermaid.min.js` -- lokal zwischengespeicherte Mermaid-Bibliothek diff --git a/e-compliance/ims/cockpit/_vendor/mermaid.min.js b/e-compliance/ims/cockpit/_vendor/mermaid.min.js new file mode 100644 index 0000000..9bca46f --- /dev/null +++ b/e-compliance/ims/cockpit/_vendor/mermaid.min.js @@ -0,0 +1,2024 @@ +(function(ZM,Dg){typeof exports=="object"&&typeof module<"u"?module.exports=Dg():typeof define=="function"&&define.amd?define(Dg):(ZM=typeof globalThis<"u"?globalThis:ZM||self,ZM.mermaid=Dg())})(this,function(){var dYe,gYe;"use strict";function ZM(i){for(var a=[],u=1;u=Pe?Be:""+Array(Pe+1-Ie.length).join(je)+Be},ge={s:be,z:function(Be){var Pe=-Be.utcOffset(),je=Math.abs(Pe),Ie=Math.floor(je/60),Se=je%60;return(Pe<=0?"+":"-")+be(Ie,2,"0")+":"+be(Se,2,"0")},m:function Be(Pe,je){if(Pe.date()1)return Be(ke[0])}else{var Ke=Pe.name;ne[Ke]=Pe,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},pe=function(Be,Pe){if(de(Be))return Be.clone();var je=typeof Pe=="object"?Pe:{};return je.date=Be,je.args=arguments,new xe(je)},G=ge;G.l=X,G.i=de,G.w=function(Be,Pe){return pe(Be,{locale:Pe.$L,utc:Pe.$u,x:Pe.$x,$offset:Pe.$offset})};var xe=function(){function Be(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Pe=Be.prototype;return Pe.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(G.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,zt=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,zt)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,zt)}}return new Date(Se)}(je),this.init()},Pe.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Pe.$utils=function(){return G},Pe.isValid=function(){return this.$d.toString()!==W},Pe.isSame=function(je,Ie){var Se=pe(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Pe.isAfter=function(je,Ie){return pe(je){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Spe=function(i="fatal"){let a=b7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in b7&&(a=b7[i])):typeof i=="number"&&(a=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},a<=b7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Fv("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Fv("FATAL"))),a<=b7.error&&(Xe.error=console.error?console.error.bind(console,Fv("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Fv("ERROR"))),a<=b7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Fv("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Fv("WARN"))),a<=b7.info&&(Xe.info=console.info?console.info.bind(console,Fv("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Fv("INFO"))),a<=b7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Fv("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Fv("DEBUG"))),a<=b7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Fv("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Fv("TRACE")))},Fv=i=>`%c${Ig().format("ss.SSS")} : ${i} : `;var b9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var a=/^([^\w]*)(javascript|data|vbscript)/im,u=/&#(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|:)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function E(A){var P=A.replace(p,"");return P.replace(u,function(R,B){return String.fromCharCode(B)})}function _(A){if(!A)return i.BLANK_URL;var P=E(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var B=R[0];return a.test(B)?i.BLANK_URL:P}i.sanitizeUrl=_})(b9);function RY(i,a){return i==null||a==null?NaN:ia?1:i>=a?0:NaN}function hLt(i,a){return i==null||a==null?NaN:ai?1:a>=i?0:NaN}function _pe(i){let a,u,d;i.length!==2?(a=RY,u=(y,E)=>RY(i(y),E),d=(y,E)=>i(y)-E):(a=i===RY||i===hLt?i:fLt,u=i,d=i);function p(y,E,_=0,A=y.length){if(_>>1;u(y[P],E)<0?_=P+1:A=P}while(_>>1;u(y[P],E)<=0?_=P+1:A=P}while(__&&d(y[P-1],E)>-d(y[P],E)?P-1:P}return{left:p,center:b,right:v}}function fLt(){return 0}function dLt(i){return i===null?NaN:+i}const gLt=_pe(RY).right;_pe(dLt).center;const pLt=gLt;class SBe extends Map{constructor(a,u=vLt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),a!=null)for(const[d,p]of a)this.set(d,p)}get(a){return super.get(_Be(this,a))}has(a){return super.has(_Be(this,a))}set(a,u){return super.set(bLt(this,a),u)}delete(a){return super.delete(mLt(this,a))}}function _Be({_intern:i,_key:a},u){const d=a(u);return i.has(d)?i.get(d):u}function bLt({_intern:i,_key:a},u){const d=a(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function mLt({_intern:i,_key:a},u){const d=a(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function vLt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const wLt=Math.sqrt(50),yLt=Math.sqrt(10),xLt=Math.sqrt(2);function jY(i,a,u){const d=(a-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=wLt?10:v>=yLt?5:v>=xLt?2:1;let y,E,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),E=Math.round(a*_),y/_a&&--E,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),E=Math.round(a/_),y*_a&&--E),E0))return[];if(i===a)return[i];const d=a=p))return[];const y=v-p+1,E=new Array(y);if(d)if(b<0)for(let _=0;_=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function ELt(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function CLt(i,a,u){i=+i,a=+a,u=(p=arguments.length)<2?(a=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((a-i)/u))|0,v=new Array(p);++d+i(a)}function MLt(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),u=>+i(u)+a}function DLt(){return!this.__axis}function LBe(i,a){var u=[],d=null,p=null,v=6,b=6,y=3,E=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===$Y||i===zY?-1:1,A=i===zY||i===Mpe?"x":"y",P=i===$Y||i===Dpe?_Lt:ALt;function R(B){var j=d??(a.ticks?a.ticks.apply(a,u):a.domain()),W=p??(a.tickFormat?a.tickFormat.apply(a,u):SLt),ee=Math.max(v,0)+y,ie=a.range(),oe=+ie[0]+E,be=+ie[ie.length-1]+E,ge=(a.bandwidth?MLt:LLt)(a.copy(),E),ae=B.selection?B.selection():B,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,a).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),pe=se.select("line"),G=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),pe=pe.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),G=G.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===$Y?"0em":i===Dpe?"0.71em":"0.32em")),B!==ae&&(ne=ne.transition(B),se=se.transition(B),pe=pe.transition(B),G=G.transition(B),de=de.transition(B).attr("opacity",ABe).attr("transform",function(xe){return isFinite(xe=ge(xe))?P(xe+E):this.getAttribute("transform")}),X.attr("opacity",ABe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:ge(xe))+E)})),de.remove(),ne.attr("d",i===zY||i===Mpe?b?"M"+_*b+","+oe+"H"+E+"V"+be+"H"+_*b:"M"+E+","+oe+"V"+be:b?"M"+oe+","+_*b+"V"+E+"H"+be+"V"+_*b:"M"+oe+","+E+"H"+be),se.attr("opacity",1).attr("transform",function(xe){return P(ge(xe)+E)}),pe.attr(A+"2",_*v),G.attr(A,_*ee).text(W),ae.filter(DLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===Mpe?"start":i===zY?"end":"middle"),ae.each(function(){this.__axis=ge})}return R.scale=function(B){return arguments.length?(a=B,R):a},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(B){return arguments.length?(u=B==null?[]:Array.from(B),R):u.slice()},R.tickValues=function(B){return arguments.length?(d=B==null?null:Array.from(B),R):d&&d.slice()},R.tickFormat=function(B){return arguments.length?(p=B,R):p},R.tickSize=function(B){return arguments.length?(v=b=+B,R):v},R.tickSizeInner=function(B){return arguments.length?(v=+B,R):v},R.tickSizeOuter=function(B){return arguments.length?(b=+B,R):b},R.tickPadding=function(B){return arguments.length?(y=+B,R):y},R.offset=function(B){return arguments.length?(E=+B,R):E},R}function ILt(i){return LBe($Y,i)}function OLt(i){return LBe(Dpe,i)}var NLt={value:()=>{}};function MBe(){for(var i=0,a=arguments.length,u={},d;i=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!a.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}qY.prototype=MBe.prototype={constructor:qY,on:function(i,a){var u=this._,d=PLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v0)for(var u=new Array(p),d=0,p,v;d=0&&(a=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),IBe.hasOwnProperty(a)?{space:IBe[a],local:i}:i}function FLt(i){return function(){var a=this.ownerDocument,u=this.namespaceURI;return u===Ipe&&a.documentElement.namespaceURI===Ipe?a.createElement(i):a.createElementNS(u,i)}}function RLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function OBe(i){var a=HY(i);return(a.local?RLt:FLt)(a)}function jLt(){}function Ope(i){return i==null?jLt:function(){return this.querySelector(i)}}function $Lt(i){typeof i!="function"&&(i=Ope(i));for(var a=this._groups,u=a.length,d=new Array(u),p=0;p=be&&(be=oe+1);!(ae=ee[be])&&++be=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function lMt(i){i||(i=hMt);function a(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;va?1:i>=a?0:NaN}function fMt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function dMt(){return Array.from(this)}function gMt(){for(var i=this._groups,a=0,u=i.length;a1?this.each((a==null?CMt:typeof a=="function"?_Mt:SMt)(i,a,u??"")):eD(this.node(),i)}function eD(i,a){return i.style.getPropertyValue(a)||jBe(i).getComputedStyle(i,null).getPropertyValue(a)}function LMt(i){return function(){delete this[i]}}function MMt(i,a){return function(){this[i]=a}}function DMt(i,a){return function(){var u=a.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function IMt(i,a){return arguments.length>1?this.each((a==null?LMt:typeof a=="function"?DMt:MMt)(i,a)):this.node()[i]}function $Be(i){return i.trim().split(/^|\s+/)}function Npe(i){return i.classList||new zBe(i)}function zBe(i){this._node=i,this._names=$Be(i.getAttribute("class")||"")}zBe.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function qBe(i,a){for(var u=Npe(i),d=-1,p=a.length;++d=0&&(u=a.slice(d+1),a=a.slice(0,d)),{type:a,name:u}})}function aDt(i){return function(){var a=this.__on;if(a){for(var u=0,d=-1,p=a.length,v;u>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):u===8?KY(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):u===4?KY(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=pDt.exec(i))?new Og(a[1],a[2],a[3],1):(a=bDt.exec(i))?new Og(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=mDt.exec(i))?KY(a[1],a[2],a[3],a[4]):(a=vDt.exec(i))?KY(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=wDt.exec(i))?ZBe(a[1],a[2]/100,a[3]/100,1):(a=yDt.exec(i))?ZBe(a[1],a[2]/100,a[3]/100,a[4]):GBe.hasOwnProperty(i)?YBe(GBe[i]):i==="transparent"?new Og(NaN,NaN,NaN,0):null}function YBe(i){return new Og(i>>16&255,i>>8&255,i&255,1)}function KY(i,a,u,d){return d<=0&&(i=a=u=NaN),new Og(i,a,u,d)}function XBe(i){return i instanceof gC||(i=pC(i)),i?(i=i.rgb(),new Og(i.r,i.g,i.b,i.opacity)):new Og}function Bpe(i,a,u,d){return arguments.length===1?XBe(i):new Og(i,a,u,d??1)}function Og(i,a,u,d){this.r=+i,this.g=+a,this.b=+u,this.opacity=+d}_F(Og,Bpe,VY(gC,{brighter(i){return i=i==null?GY:Math.pow(GY,i),new Og(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?AF:Math.pow(AF,i),new Og(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Og(bC(this.r),bC(this.g),bC(this.b),WY(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:QBe,formatHex:QBe,formatHex8:TDt,formatRgb:JBe,toString:JBe}));function QBe(){return`#${mC(this.r)}${mC(this.g)}${mC(this.b)}`}function TDt(){return`#${mC(this.r)}${mC(this.g)}${mC(this.b)}${mC((isNaN(this.opacity)?1:this.opacity)*255)}`}function JBe(){const i=WY(this.opacity);return`${i===1?"rgb(":"rgba("}${bC(this.r)}, ${bC(this.g)}, ${bC(this.b)}${i===1?")":`, ${i})`}`}function WY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function bC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function mC(i){return i=bC(i),(i<16?"0":"")+i.toString(16)}function ZBe(i,a,u,d){return d<=0?i=a=u=NaN:u<=0||u>=1?i=a=NaN:a<=0&&(i=NaN),new P3(i,a,u,d)}function eFe(i){if(i instanceof P3)return new P3(i.h,i.s,i.l,i.opacity);if(i instanceof gC||(i=pC(i)),!i)return new P3;if(i instanceof P3)return i;i=i.rgb();var a=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(a,u,d),v=Math.max(a,u,d),b=NaN,y=v-p,E=(v+p)/2;return y?(a===v?b=(u-d)/y+(u0&&E<1?0:b,new P3(b,y,E,i.opacity)}function EDt(i,a,u,d){return arguments.length===1?eFe(i):new P3(i,a,u,d??1)}function P3(i,a,u,d){this.h=+i,this.s=+a,this.l=+u,this.opacity=+d}_F(P3,EDt,VY(gC,{brighter(i){return i=i==null?GY:Math.pow(GY,i),new P3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?AF:Math.pow(AF,i),new P3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*a,p=2*u-d;return new Og(Fpe(i>=240?i-240:i+120,p,d),Fpe(i,p,d),Fpe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new P3(tFe(this.h),YY(this.s),YY(this.l),WY(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 i=WY(this.opacity);return`${i===1?"hsl(":"hsla("}${tFe(this.h)}, ${YY(this.s)*100}%, ${YY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function tFe(i){return i=(i||0)%360,i<0?i+360:i}function YY(i){return Math.max(0,Math.min(1,i||0))}function Fpe(i,a,u){return(i<60?a+(u-a)*i/60:i<180?u:i<240?a+(u-a)*(240-i)/60:a)*255}const CDt=Math.PI/180,SDt=180/Math.PI,XY=18,nFe=.96422,rFe=1,iFe=.82521,sFe=4/29,nD=6/29,aFe=3*nD*nD,_Dt=nD*nD*nD;function oFe(i){if(i instanceof q4)return new q4(i.l,i.a,i.b,i.opacity);if(i instanceof m7)return cFe(i);i instanceof Og||(i=XBe(i));var a=zpe(i.r),u=zpe(i.g),d=zpe(i.b),p=Rpe((.2225045*a+.7168786*u+.0606169*d)/rFe),v,b;return a===u&&u===d?v=b=p:(v=Rpe((.4360747*a+.3850649*u+.1430804*d)/nFe),b=Rpe((.0139322*a+.0971045*u+.7141733*d)/iFe)),new q4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function ADt(i,a,u,d){return arguments.length===1?oFe(i):new q4(i,a,u,d??1)}function q4(i,a,u,d){this.l=+i,this.a=+a,this.b=+u,this.opacity=+d}_F(q4,ADt,VY(gC,{brighter(i){return new q4(this.l+XY*(i??1),this.a,this.b,this.opacity)},darker(i){return new q4(this.l-XY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return a=nFe*jpe(a),i=rFe*jpe(i),u=iFe*jpe(u),new Og($pe(3.1338561*a-1.6168667*i-.4906146*u),$pe(-.9787684*a+1.9161415*i+.033454*u),$pe(.0719453*a-.2289914*i+1.4052427*u),this.opacity)}}));function Rpe(i){return i>_Dt?Math.pow(i,1/3):i/aFe+sFe}function jpe(i){return i>nD?i*i*i:aFe*(i-sFe)}function $pe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function zpe(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function LDt(i){if(i instanceof m7)return new m7(i.h,i.c,i.l,i.opacity);if(i instanceof q4||(i=oFe(i)),i.a===0&&i.b===0)return new m7(NaN,0()=>i;function uFe(i,a){return function(u){return i+u*a}}function MDt(i,a,u){return i=Math.pow(i,u),a=Math.pow(a,u)-i,u=1/u,function(d){return Math.pow(i+d*a,u)}}function DDt(i,a){var u=a-i;return u?uFe(i,u>180||u<-180?u-360*Math.round(u/360):u):QY(isNaN(i)?a:i)}function IDt(i){return(i=+i)==1?MF:function(a,u){return u-a?MDt(a,u,i):QY(isNaN(a)?u:a)}}function MF(i,a){var u=a-i;return u?uFe(i,u):QY(isNaN(i)?a:i)}const JY=function i(a){var u=IDt(a);function d(p,v){var b=u((p=Bpe(p)).r,(v=Bpe(v)).r),y=u(p.g,v.g),E=u(p.b,v.b),_=MF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=E(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function ODt(i,a){a||(a=[]);var u=i?Math.min(a.length,i.length):0,d=a.slice(),p;return function(v){for(p=0;pu&&(v=a.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,E.push({i:b,x:B3(d,p)})),u=Upe.lastIndex;return u180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:B3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:B3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function E(_,A,P,R,B,j){if(_!==P||A!==R){var W=B.push(p(B)+"scale(",null,",",null,")");j.push({i:W-4,x:B3(_,P)},{i:W-2,x:B3(A,R)})}else(P!==1||R!==1)&&B.push(p(B)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),E(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(B){for(var j=-1,W=R.length,ee;++j=0&&i._call.call(void 0,a),i=i._next;--rD}function mFe(){vC=(tX=NF.now())+nX,rD=DF=0;try{WDt()}finally{rD=0,XDt(),vC=0}}function YDt(){var i=NF.now(),a=i-tX;a>gFe&&(nX-=a,tX=i)}function XDt(){for(var i,a=eX,u,d=1/0;a;)a._call?(d>a._time&&(d=a._time),i=a,a=a._next):(u=a._next,a._next=null,a=i?i._next=u:eX=u);OF=i,Wpe(d)}function Wpe(i){if(!rD){DF&&(DF=clearTimeout(DF));var a=i-vC;a>24?(i<1/0&&(DF=setTimeout(mFe,i-NF.now()-nX)),IF&&(IF=clearInterval(IF))):(IF||(tX=NF.now(),IF=setInterval(YDt,gFe)),rD=1,pFe(mFe))}}function vFe(i,a,u){var d=new rX;return a=a==null?0:+a,d.restart(p=>{d.stop(),i(p+a)},a,u),d}var QDt=MBe("start","end","cancel","interrupt"),JDt=[],wFe=0,yFe=1,Ype=2,iX=3,xFe=4,Xpe=5,sX=6;function aX(i,a,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;ZDt(i,u,{name:a,index:d,group:p,on:QDt,tween:JDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:wFe})}function Qpe(i,a){var u=F3(i,a);if(u.state>wFe)throw new Error("too late; already scheduled");return u}function H4(i,a){var u=F3(i,a);if(u.state>iX)throw new Error("too late; already running");return u}function F3(i,a){var u=i.__transition;if(!u||!(u=u[a]))throw new Error("transition not found");return u}function ZDt(i,a,u){var d=i.__transition,p;d[a]=u,u.timer=bFe(v,0,u.time);function v(_){u.state=yFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,B;if(u.state!==yFe)return E();for(A in d)if(B=d[A],B.name===u.name){if(B.state===iX)return vFe(b);B.state===xFe?(B.state=sX,B.timer.stop(),B.on.call("interrupt",i,i.__data__,B.index,B.group),delete d[A]):+AYpe&&d.state=0&&(a=a.slice(0,u)),!a||a==="start"})}function MIt(i,a,u){var d,p,v=LIt(a)?Qpe:H4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(a,u),b.on=p}}function DIt(i,a){var u=this._id;return arguments.length<2?F3(this.node(),u).on.on(i):this.each(MIt(u,i,a))}function IIt(i){return function(){var a=this.parentNode;for(var u in this.__transition)if(+u!==i)return;a&&a.removeChild(this)}}function OIt(){return this.on("end.remove",IIt(this._id))}function NIt(i){var a=this._name,u=this._id;typeof i!="function"&&(i=Ope(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(a>15)return CFe;const u=10**a;return function(d){this._+=d[0];for(let p=1,v=d.length;pwC)if(!(Math.abs(P*E-_*A)>wC)||!v)this._append`L${this._x1=a},${this._y1=u}`;else{let B=d-b,j=p-y,W=E*E+_*_,ee=B*B+j*j,ie=Math.sqrt(W),oe=Math.sqrt(R),be=v*Math.tan((Zpe-Math.acos((W+R-ee)/(2*ie*oe)))/2),ge=be/oe,ae=be/ie;Math.abs(ge-1)>wC&&this._append`L${a+ge*A},${u+ge*P}`,this._append`A${v},${v},0,0,${+(P*B>A*j)},${this._x1=a+ae*E},${this._y1=u+ae*_}`}}arc(a,u,d,p,v,b){if(a=+a,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),E=d*Math.sin(p),_=a+y,A=u+E,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>wC||Math.abs(this._y1-A)>wC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%e2e+e2e),R>sOt?this._append`A${d},${d},0,1,${P},${a-y},${u-E}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>wC&&this._append`A${d},${d},0,${+(R>=Zpe)},${P},${this._x1=a+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(a,u,d,p){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function cOt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function uOt(i,a){return fetch(i,a).then(cOt)}function lOt(i){return(a,u)=>uOt(a,u).then(d=>new DOMParser().parseFromString(d,i))}var hOt=lOt("image/svg+xml");function fOt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function oX(i,a){if((u=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function iD(i){return i=oX(Math.abs(i)),i?i[1]:NaN}function dOt(i,a){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],E=0;p>0&&y>0&&(E+y+1>d&&(y=Math.max(1,d-E)),v.push(u.substring(p-=y,p+y)),!((E+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(a)}}function gOt(i){return function(a){return a.replace(/[0-9]/g,function(u){return i[+u]})}}var pOt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function cX(i){if(!(a=pOt.exec(i)))throw new Error("invalid format: "+i);var a;return new t2e({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}cX.prototype=t2e.prototype;function t2e(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}t2e.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 bOt(i){e:for(var a=i.length,u=1,d=-1,p;u0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var SFe;function mOt(i,a){var u=oX(i,a);if(!u)return i+"";var d=u[0],p=u[1],v=p-(SFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+oX(i,Math.max(0,a+v-1))[0]}function _Fe(i,a){var u=oX(i,a);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const AFe={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:fOt,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>_Fe(i*100,a),r:_Fe,s:mOt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function LFe(i){return i}var MFe=Array.prototype.map,DFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function vOt(i){var a=i.grouping===void 0||i.thousands===void 0?LFe:dOt(MFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?LFe:gOt(MFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"−":i.minus+"",E=i.nan===void 0?"NaN":i.nan+"";function _(P){P=cX(P);var R=P.fill,B=P.align,j=P.sign,W=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,be=P.precision,ge=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):AFe[ae]||(be===void 0&&(be=12),ge=!0,ae="g"),(ee||R==="0"&&B==="=")&&(ee=!0,R="0",B="=");var ne=W==="$"?u:W==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=W==="$"?d:/[%p]/.test(ae)?b:"",de=AFe[ae],X=/[defgprs%]/.test(ae);be=be===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,be)):Math.max(0,Math.min(20,be));function pe(G){var xe=ne,U=se,Be,Pe,je;if(ae==="c")U=de(G)+U,G="";else{G=+G;var Ie=G<0||1/G<0;if(G=isNaN(G)?E:de(Math.abs(G),be),ge&&(G=bOt(G)),Ie&&+G==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?DFe[8+SFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Be=-1,Pe=G.length;++Beje||je>57){U=(je===46?p+G.slice(Be+1):G.slice(Be))+U,G=G.slice(0,Be);break}}}oe&&!ee&&(G=a(G,1/0));var Se=xe.length+G.length+U.length,Ce=Se>1)+xe+G+U+Ce.slice(Se);break;default:G=Ce+xe+G+U;break}return v(G)}return pe.toString=function(){return P+""},pe}function A(P,R){var B=_((P=cX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(iD(R)/3)))*3,W=Math.pow(10,-j),ee=DFe[8+j/3];return function(ie){return B(W*ie)+ee}}return{format:_,formatPrefix:A}}var uX,IFe,OFe;wOt({thousands:",",grouping:[3],currency:["$",""]});function wOt(i){return uX=vOt(i),IFe=uX.format,OFe=uX.formatPrefix,uX}function yOt(i){return Math.max(0,-iD(Math.abs(i)))}function xOt(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(iD(a)/3)))*3-iD(Math.abs(i)))}function kOt(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,iD(a)-iD(i))+1}function lX(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const NFe=Symbol("implicit");function PF(){var i=new SBe,a=[],u=[],d=NFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==NFe)return d;i.set(v,b=a.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new SBe;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return PF(a,u).unknown(d)},lX.apply(p,arguments),p}function n2e(){var i=PF().unknown(void 0),a=i.domain,u=i.range,d=0,p=1,v,b,y=!1,E=0,_=0,A=.5;delete i.unknown;function P(){var R=a().length,B=pa&&(u=i,i=a,a=u),function(d){return Math.max(i,Math.min(a,d))}}function SOt(i,a,u){var d=i[0],p=i[1],v=a[0],b=a[1];return p2?_Ot:SOt,E=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(E||(E=y(i.map(d),a,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(a,i.map(d),B3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,EOt),A()):i.slice()},P.range=function(R){return arguments.length?(a=Array.from(R),A()):a.slice()},P.rangeRound=function(R){return a=Array.from(R),u=$Dt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:sD,A()):b!==sD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,B){return d=R,p=B,A()}}function FFe(){return AOt()(sD,sD)}function LOt(i,a,u,d){var p=Lpe(i,a,u),v;switch(d=cX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return d.precision==null&&!isNaN(v=xOt(p,b))&&(d.precision=v),OFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=kOt(p,Math.max(Math.abs(i),Math.abs(a))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=yOt(p))&&(d.precision=v-(d.type==="%")*2);break}}return IFe(d)}function MOt(i){var a=i.domain;return i.ticks=function(u){var d=a();return kLt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=a();return LOt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=a(),p=0,v=d.length-1,b=d[p],y=d[v],E,_,A=10;for(y0;){if(_=Ape(b,y,u),_===E)return d[p]=b,d[v]=y,a(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;E=_}return i},i}function aD(){var i=FFe();return i.copy=function(){return BFe(i,aD())},lX.apply(i,arguments),MOt(i)}function DOt(i,a){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b(a(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const E=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v0))return E;let _;do E.push(_=new Date(+v)),a(v,y),i(v);while(_l1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;a(b,-1),!v(b););else for(;--y>=0;)for(;a(b,1),!v(b););}),u&&(p.count=(v,b)=>(i2e.setTime(+v),s2e.setTime(+b),i(i2e),i(s2e),Math.floor(u(i2e,s2e))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const oD=l1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);oD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?l1(a=>{a.setTime(Math.floor(a/i)*i)},(a,u)=>{a.setTime(+a+u*i)},(a,u)=>(u-a)/i):oD),oD.range;const y7=1e3,Rv=y7*60,x7=Rv*60,k7=x7*24,a2e=k7*7,RFe=k7*30,o2e=k7*365,m9=l1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*y7)},(i,a)=>(a-i)/y7,i=>i.getUTCSeconds());m9.range;const BF=l1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*y7)},(i,a)=>{i.setTime(+i+a*Rv)},(i,a)=>(a-i)/Rv,i=>i.getMinutes());BF.range,l1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Rv)},(i,a)=>(a-i)/Rv,i=>i.getUTCMinutes()).range;const FF=l1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*y7-i.getMinutes()*Rv)},(i,a)=>{i.setTime(+i+a*x7)},(i,a)=>(a-i)/x7,i=>i.getHours());FF.range,l1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*x7)},(i,a)=>(a-i)/x7,i=>i.getUTCHours()).range;const yC=l1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Rv)/k7,i=>i.getDate()-1);yC.range;const c2e=l1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/k7,i=>i.getUTCDate()-1);c2e.range,l1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/k7,i=>Math.floor(i/k7)).range;function xC(i){return l1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,u)=>{a.setDate(a.getDate()+u*7)},(a,u)=>(u-a-(u.getTimezoneOffset()-a.getTimezoneOffset())*Rv)/a2e)}const RF=xC(0),jF=xC(1),jFe=xC(2),$Fe=xC(3),kC=xC(4),zFe=xC(5),qFe=xC(6);RF.range,jF.range,jFe.range,$Fe.range,kC.range,zFe.range,qFe.range;function TC(i){return l1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,u)=>{a.setUTCDate(a.getUTCDate()+u*7)},(a,u)=>(u-a)/a2e)}const HFe=TC(0),hX=TC(1),IOt=TC(2),OOt=TC(3),cD=TC(4),NOt=TC(5),POt=TC(6);HFe.range,hX.range,IOt.range,OOt.range,cD.range,NOt.range,POt.range;const $F=l1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());$F.range,l1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const T7=l1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());T7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:l1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,u)=>{a.setFullYear(a.getFullYear()+u*i)}),T7.range;const EC=l1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());EC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:l1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,u)=>{a.setUTCFullYear(a.getUTCFullYear()+u*i)}),EC.range;function BOt(i,a,u,d,p,v){const b=[[m9,1,y7],[m9,5,5*y7],[m9,15,15*y7],[m9,30,30*y7],[v,1,Rv],[v,5,5*Rv],[v,15,15*Rv],[v,30,30*Rv],[p,1,x7],[p,3,3*x7],[p,6,6*x7],[p,12,12*x7],[d,1,k7],[d,2,2*k7],[u,1,a2e],[a,1,RFe],[a,3,3*RFe],[i,1,o2e]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const B=P&&typeof P.range=="function"?P:E(_,A,P),j=B?B.range(_,+A+1):[];return R?j.reverse():j}function E(_,A,P){const R=Math.abs(A-_)/P,B=_pe(([,,ee])=>ee).right(b,R);if(B===b.length)return i.every(Lpe(_/o2e,A/o2e,P));if(B===0)return oD.every(Math.max(Lpe(_,A,P),1));const[j,W]=b[R/b[B-1][2]53)return null;"w"in Dt||(Dt.w=1),"Z"in Dt?(Nn=l2e(zF(Dt.y,0,1)),ht=Nn.getUTCDay(),Nn=ht>4||ht===0?hX.ceil(Nn):hX(Nn),Nn=c2e.offset(Nn,(Dt.V-1)*7),Dt.y=Nn.getUTCFullYear(),Dt.m=Nn.getUTCMonth(),Dt.d=Nn.getUTCDate()+(Dt.w+6)%7):(Nn=u2e(zF(Dt.y,0,1)),ht=Nn.getDay(),Nn=ht>4||ht===0?jF.ceil(Nn):jF(Nn),Nn=yC.offset(Nn,(Dt.V-1)*7),Dt.y=Nn.getFullYear(),Dt.m=Nn.getMonth(),Dt.d=Nn.getDate()+(Dt.w+6)%7)}else("W"in Dt||"U"in Dt)&&("w"in Dt||(Dt.w="u"in Dt?Dt.u%7:"W"in Dt?1:0),ht="Z"in Dt?l2e(zF(Dt.y,0,1)).getUTCDay():u2e(zF(Dt.y,0,1)).getDay(),Dt.m=0,Dt.d="W"in Dt?(Dt.w+6)%7+Dt.W*7-(ht+5)%7:Dt.w+Dt.U*7-(ht+6)%7);return"Z"in Dt?(Dt.H+=Dt.Z/100|0,Dt.M+=Dt.Z%100,l2e(Dt)):u2e(Dt)}}function de(yt,Bt,Ze,Dt){for(var kt=0,Nn=Bt.length,ht=Ze.length,qr,xt;kt=ht)return-1;if(qr=Bt.charCodeAt(kt++),qr===37){if(qr=Bt.charAt(kt++),xt=ae[qr in UFe?Bt.charAt(kt++):qr],!xt||(Dt=xt(yt,Ze,Dt))<0)return-1}else if(qr!=Ze.charCodeAt(Dt++))return-1}return Dt}function X(yt,Bt,Ze){var Dt=_.exec(Bt.slice(Ze));return Dt?(yt.p=A.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function pe(yt,Bt,Ze){var Dt=B.exec(Bt.slice(Ze));return Dt?(yt.w=j.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function G(yt,Bt,Ze){var Dt=P.exec(Bt.slice(Ze));return Dt?(yt.w=R.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function xe(yt,Bt,Ze){var Dt=ie.exec(Bt.slice(Ze));return Dt?(yt.m=oe.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function U(yt,Bt,Ze){var Dt=W.exec(Bt.slice(Ze));return Dt?(yt.m=ee.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function Be(yt,Bt,Ze){return de(yt,a,Bt,Ze)}function Pe(yt,Bt,Ze){return de(yt,u,Bt,Ze)}function je(yt,Bt,Ze){return de(yt,d,Bt,Ze)}function Ie(yt){return b[yt.getDay()]}function Se(yt){return v[yt.getDay()]}function Ce(yt){return E[yt.getMonth()]}function ke(yt){return y[yt.getMonth()]}function Ke(yt){return p[+(yt.getHours()>=12)]}function zt(yt){return 1+~~(yt.getMonth()/3)}function Ne(yt){return b[yt.getUTCDay()]}function pn(yt){return v[yt.getUTCDay()]}function Tt(yt){return E[yt.getUTCMonth()]}function Et(yt){return y[yt.getUTCMonth()]}function Wt(yt){return p[+(yt.getUTCHours()>=12)]}function un(yt){return 1+~~(yt.getUTCMonth()/3)}return{format:function(yt){var Bt=ne(yt+="",be);return Bt.toString=function(){return yt},Bt},parse:function(yt){var Bt=se(yt+="",!1);return Bt.toString=function(){return yt},Bt},utcFormat:function(yt){var Bt=ne(yt+="",ge);return Bt.toString=function(){return yt},Bt},utcParse:function(yt){var Bt=se(yt+="",!0);return Bt.toString=function(){return yt},Bt}}}var UFe={"-":"",_:" ",0:"0"},rd=/^\s*\d+/,$Ot=/^%/,zOt=/[\\^$*+?|[\]().{}]/g;function bu(i,a,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v[a.toLowerCase(),u]))}function HOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function UOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function VOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function GOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function KOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function VFe(i,a,u){var d=rd.exec(a.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function GFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function WOt(i,a,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function YOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function XOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function KFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function QOt(i,a,u){var d=rd.exec(a.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function WFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function JOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function ZOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function eNt(i,a,u){var d=rd.exec(a.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function tNt(i,a,u){var d=rd.exec(a.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function nNt(i,a,u){var d=$Ot.exec(a.slice(u,u+1));return d?u+d[0].length:-1}function rNt(i,a,u){var d=rd.exec(a.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function iNt(i,a,u){var d=rd.exec(a.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function YFe(i,a){return bu(i.getDate(),a,2)}function sNt(i,a){return bu(i.getHours(),a,2)}function aNt(i,a){return bu(i.getHours()%12||12,a,2)}function oNt(i,a){return bu(1+yC.count(T7(i),i),a,3)}function XFe(i,a){return bu(i.getMilliseconds(),a,3)}function cNt(i,a){return XFe(i,a)+"000"}function uNt(i,a){return bu(i.getMonth()+1,a,2)}function lNt(i,a){return bu(i.getMinutes(),a,2)}function hNt(i,a){return bu(i.getSeconds(),a,2)}function fNt(i){var a=i.getDay();return a===0?7:a}function dNt(i,a){return bu(RF.count(T7(i)-1,i),a,2)}function QFe(i){var a=i.getDay();return a>=4||a===0?kC(i):kC.ceil(i)}function gNt(i,a){return i=QFe(i),bu(kC.count(T7(i),i)+(T7(i).getDay()===4),a,2)}function pNt(i){return i.getDay()}function bNt(i,a){return bu(jF.count(T7(i)-1,i),a,2)}function mNt(i,a){return bu(i.getFullYear()%100,a,2)}function vNt(i,a){return i=QFe(i),bu(i.getFullYear()%100,a,2)}function wNt(i,a){return bu(i.getFullYear()%1e4,a,4)}function yNt(i,a){var u=i.getDay();return i=u>=4||u===0?kC(i):kC.ceil(i),bu(i.getFullYear()%1e4,a,4)}function xNt(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+bu(a/60|0,"0",2)+bu(a%60,"0",2)}function JFe(i,a){return bu(i.getUTCDate(),a,2)}function kNt(i,a){return bu(i.getUTCHours(),a,2)}function TNt(i,a){return bu(i.getUTCHours()%12||12,a,2)}function ENt(i,a){return bu(1+c2e.count(EC(i),i),a,3)}function ZFe(i,a){return bu(i.getUTCMilliseconds(),a,3)}function CNt(i,a){return ZFe(i,a)+"000"}function SNt(i,a){return bu(i.getUTCMonth()+1,a,2)}function _Nt(i,a){return bu(i.getUTCMinutes(),a,2)}function ANt(i,a){return bu(i.getUTCSeconds(),a,2)}function LNt(i){var a=i.getUTCDay();return a===0?7:a}function MNt(i,a){return bu(HFe.count(EC(i)-1,i),a,2)}function eRe(i){var a=i.getUTCDay();return a>=4||a===0?cD(i):cD.ceil(i)}function DNt(i,a){return i=eRe(i),bu(cD.count(EC(i),i)+(EC(i).getUTCDay()===4),a,2)}function INt(i){return i.getUTCDay()}function ONt(i,a){return bu(hX.count(EC(i)-1,i),a,2)}function NNt(i,a){return bu(i.getUTCFullYear()%100,a,2)}function PNt(i,a){return i=eRe(i),bu(i.getUTCFullYear()%100,a,2)}function BNt(i,a){return bu(i.getUTCFullYear()%1e4,a,4)}function FNt(i,a){var u=i.getUTCDay();return i=u>=4||u===0?cD(i):cD.ceil(i),bu(i.getUTCFullYear()%1e4,a,4)}function RNt(){return"+0000"}function tRe(){return"%"}function nRe(i){return+i}function rRe(i){return Math.floor(+i/1e3)}var uD,fX;jNt({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 jNt(i){return uD=jOt(i),fX=uD.format,uD.parse,uD.utcFormat,uD.utcParse,uD}function $Nt(i){return new Date(i)}function zNt(i){return i instanceof Date?+i:+new Date(+i)}function iRe(i,a,u,d,p,v,b,y,E,_){var A=FFe(),P=A.invert,R=A.domain,B=_(".%L"),j=_(":%S"),W=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),be=_("%B"),ge=_("%Y");function ae(ne){return(E(ne)1?0:i<-1?UF:Math.acos(i)}function oRe(i){return i>=1?dX:i<=-1?-dX:Math.asin(i)}function cRe(i){let a=3;return i.digits=function(u){if(!arguments.length)return a;if(u==null)a=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);a=d}return i},()=>new oOt(a)}function GNt(i){return i.innerRadius}function KNt(i){return i.outerRadius}function WNt(i){return i.startAngle}function YNt(i){return i.endAngle}function XNt(i){return i&&i.padAngle}function QNt(i,a,u,d,p,v,b,y){var E=u-i,_=d-a,A=b-p,P=y-v,R=P*E-A*_;if(!(R*RBe*Be+Pe*Pe&&(de=pe,X=G),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function hD(){var i=GNt,a=KNt,u=Wf(0),d=null,p=WNt,v=YNt,b=XNt,y=null,E=cRe(_);function _(){var A,P,R=+i.apply(this,arguments),B=+a.apply(this,arguments),j=p.apply(this,arguments)-dX,W=v.apply(this,arguments)-dX,ee=aRe(W-j),ie=W>j;if(y||(y=A=E()),BPg))y.moveTo(0,0);else if(ee>gX-Pg)y.moveTo(B*CC(j),B*U4(j)),y.arc(0,0,B,j,W,!ie),R>Pg&&(y.moveTo(R*CC(W),R*U4(W)),y.arc(0,0,R,W,j,ie));else{var oe=j,be=W,ge=j,ae=W,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Pg&&(d?+d.apply(this,arguments):lD(R*R+B*B)),pe=h2e(aRe(B-R)/2,+u.apply(this,arguments)),G=pe,xe=pe,U,Be;if(X>Pg){var Pe=oRe(X/R*U4(de)),je=oRe(X/B*U4(de));(ne-=Pe*2)>Pg?(Pe*=ie?1:-1,ge+=Pe,ae-=Pe):(ne=0,ge=ae=(j+W)/2),(se-=je*2)>Pg?(je*=ie?1:-1,oe+=je,be-=je):(se=0,oe=be=(j+W)/2)}var Ie=B*CC(oe),Se=B*U4(oe),Ce=R*CC(ae),ke=R*U4(ae);if(pe>Pg){var Ke=B*CC(be),zt=B*U4(be),Ne=R*CC(ge),pn=R*U4(ge),Tt;if(eePg?xe>Pg?(U=pX(Ne,pn,Ie,Se,B,xe,ie),Be=pX(Ke,zt,Ce,ke,B,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xePg)||!(ne>Pg)?y.lineTo(Ce,ke):G>Pg?(U=pX(Ce,ke,Ke,zt,R,-G,ie),Be=pX(Ie,Se,Ne,pn,R,-G,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),Gi?1:a>=i?0:NaN}function tPt(i){return i}function nPt(){var i=tPt,a=ePt,u=null,d=Wf(0),p=Wf(gX),v=Wf(0);function b(y){var E,_=(y=uRe(y)).length,A,P,R=0,B=new Array(_),j=new Array(_),W=+d.apply(this,arguments),ee=Math.min(gX,Math.max(-gX,p.apply(this,arguments)-W)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),be=oe*(ee<0?-1:1),ge;for(E=0;E<_;++E)(ge=j[B[E]=E]=+i(y[E],E,y))>0&&(R+=ge);for(a!=null?B.sort(function(ae,ne){return a(j[ae],j[ne])}):u!=null&&B.sort(function(ae,ne){return u(y[ae],y[ne])}),E=0,P=R?(ee-_*be)/R:0;E<_;++E,W=ie)A=B[E],ge=j[A],ie=W+(ge>0?ge*P:0)+be,j[A]={data:y[A],index:E,value:ge,startAngle:W,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Wf(+y),b):i},b.sortValues=function(y){return arguments.length?(a=y,u=null,b):a},b.sort=function(y){return arguments.length?(u=y,a=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Wf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Wf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Wf(+y),b):v},b}class hRe{constructor(a,u){this._context=a,this._x=u}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(a,u){switch(a=+a,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,u):this._context.moveTo(a,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,u,a,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,a,this._y0,a,u);break}}this._x0=a,this._y0=u}}function rPt(i){return new hRe(i,!0)}function iPt(i){return new hRe(i,!1)}function v9(){}function bX(i,a,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+u)/6)}function mX(i){this._context=i}mX.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:bX(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(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);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:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function VF(i){return new mX(i)}function fRe(i){this._context=i}fRe.prototype={areaStart:v9,areaEnd:v9,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(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function sPt(i){return new fRe(i)}function dRe(i){this._context=i}dRe.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(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function aPt(i){return new dRe(i)}function gRe(i,a){this._basis=new mX(i),this._beta=a}gRe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=a[0],v=i[u]-d,b=a[u]-p,y=-1,E;++y<=u;)E=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+E*v),this._beta*a[y]+(1-this._beta)*(p+E*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const oPt=function i(a){function u(d){return a===1?new mX(d):new gRe(d,a)}return u.beta=function(d){return i(+d)},u}(.85);function vX(i,a,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function f2e(i,a){this._context=i,this._k=(1-a)/6}f2e.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:vX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const cPt=function i(a){function u(d){return new f2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function d2e(i,a){this._context=i,this._k=(1-a)/6}d2e.prototype={areaStart:v9,areaEnd:v9,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(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const uPt=function i(a){function u(d){return new d2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function g2e(i,a){this._context=i,this._k=(1-a)/6}g2e.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(i,a){switch(i=+i,a=+a,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:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const lPt=function i(a){function u(d){return new g2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function p2e(i,a,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Pg){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,E=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/E,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/E}if(i._l23_a>Pg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-a*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function pRe(i,a){this._context=i,this._alpha=a}pRe.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(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:p2e(this,i,a);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const hPt=function i(a){function u(d){return a?new pRe(d,a):new f2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function bRe(i,a){this._context=i,this._alpha=a}bRe.prototype={areaStart:v9,areaEnd:v9,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(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:p2e(this,i,a);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const fPt=function i(a){function u(d){return a?new bRe(d,a):new d2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function mRe(i,a){this._context=i,this._alpha=a}mRe.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(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,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:p2e(this,i,a);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const dPt=function i(a){function u(d){return a?new mRe(d,a):new g2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function vRe(i){this._context=i}vRe.prototype={areaStart:v9,areaEnd:v9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function gPt(i){return new vRe(i)}function wRe(i){return i<0?-1:1}function yRe(i,a,u){var d=i._x1-i._x0,p=a-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(wRe(v)+wRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function xRe(i,a){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-a)/2:a}function b2e(i,a,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*a,v-y,b-y*u,v,b)}function wX(i){this._context=i}wX.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:b2e(this,this._t0,xRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var u=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,b2e(this,xRe(this,u=yRe(this,i,a)),u);break;default:b2e(this,this._t0,u=yRe(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=u}}};function kRe(i){this._context=new TRe(i)}(kRe.prototype=Object.create(wX.prototype)).point=function(i,a){wX.prototype.point.call(this,a,i)};function TRe(i){this._context=i}TRe.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,u,d,p,v){this._context.bezierCurveTo(a,i,d,u,v,p)}};function pPt(i){return new wX(i)}function bPt(i){return new kRe(i)}function ERe(i){this._context=i}ERe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),u===2)this._context.lineTo(i[1],a[1]);else for(var d=CRe(i),p=CRe(a),v=0,b=1;b=0;--a)p[a]=(b[a]-p[a+1])/v[a];for(v[u-1]=(i[u]+p[u-1])/2,a=0;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,a)}break}}this._x=i,this._y=a}};function vPt(i){return new yX(i,.5)}function wPt(i){return new yX(i,0)}function yPt(i){return new yX(i,1)}function GF(i,a,u){this.k=i,this.x=a,this.y=u}GF.prototype={constructor:GF,scale:function(i){return i===1?this:new GF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new GF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},GF.prototype;/*! @license DOMPurify 3.4.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.2/LICENSE */const{entries:SRe,setPrototypeOf:_Re,isFrozen:xPt,getPrototypeOf:kPt,getOwnPropertyDescriptor:TPt}=Object;let{freeze:_p,seal:jv,create:fD}=Object,{apply:m2e,construct:v2e}=typeof Reflect<"u"&&Reflect;_p||(_p=function(a){return a}),jv||(jv=function(a){return a}),m2e||(m2e=function(a,u){for(var d=arguments.length,p=new Array(d>2?d-2:0),v=2;v1?u-1:0),p=1;p"u"?null:M0(BigInt.prototype.toString),IRe=typeof Symbol>"u"?null:M0(Symbol.prototype.toString),kf=M0(Object.prototype.hasOwnProperty),XF=M0(Object.prototype.toString),Ud=M0(RegExp.prototype.test),xX=LPt(TypeError);function M0(i){return function(a){a instanceof RegExp&&(a.lastIndex=0);for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:YF;if(_Re&&_Re(i,null),!Ap(a))return i;let d=a.length;for(;d--;){let p=a[d];if(typeof p=="string"){const v=u(p);v!==p&&(xPt(a)||(a[d]=v),p=v)}i[p]=!0}return i}function MPt(i){for(let a=0;a/gm),FPt=jv(/\$\{[\w\W]*/gm),RPt=jv(/^data-[\-\w.\u00B7-\uFFFF]+$/),jPt=jv(/^aria-[\-\w]+$/),FRe=jv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),$Pt=jv(/^(?:\w+script|data):/i),zPt=jv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),RRe=jv(/^html$/i),qPt=jv(/^[a-z][.\w]*(-[.\w]+)+$/i);var jRe=Object.freeze({__proto__:null,ARIA_ATTR:jPt,ATTR_WHITESPACE:zPt,CUSTOM_ELEMENT:qPt,DATA_ATTR:RPt,DOCTYPE_NAME:RRe,ERB_EXPR:BPt,IS_ALLOWED_URI:FRe,IS_SCRIPT_OR_DATA:$Pt,MUSTACHE_EXPR:PPt,TMPLIT_EXPR:FPt});const QF={element:1,text:3,progressingInstruction:7,comment:8,document:9},HPt=function(){return typeof window>"u"?null:window},UPt=function(a,u){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}},$Re=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function zRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:HPt();const a=bs=>zRe(bs);if(a.version="3.4.2",a.removed=[],!i||!i.document||i.document.nodeType!==QF.document||!i.Element)return a.isSupported=!1,a;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:E,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:B}=i,j=E.prototype,W=gD(j,"cloneNode"),ee=gD(j,"remove"),ie=gD(j,"nextSibling"),oe=gD(j,"childNodes"),be=gD(j,"parentNode");if(typeof b=="function"){const bs=u.createElement("template");bs.content&&bs.content.ownerDocument&&(u=bs.content.ownerDocument)}let ge,ae="";const{implementation:ne,createNodeIterator:se,createDocumentFragment:de,getElementsByTagName:X}=u,{importNode:pe}=d;let G=$Re();a.isSupported=typeof SRe=="function"&&typeof be=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:xe,ERB_EXPR:U,TMPLIT_EXPR:Be,DATA_ATTR:Pe,ARIA_ATTR:je,IS_SCRIPT_OR_DATA:Ie,ATTR_WHITESPACE:Se,CUSTOM_ELEMENT:Ce}=jRe;let{IS_ALLOWED_URI:ke}=jRe,Ke=null;const zt=Yo({},[...ORe,...y2e,...x2e,...k2e,...NRe]);let Ne=null;const pn=Yo({},[...PRe,...T2e,...BRe,...kX]);let Tt=Object.seal(fD(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}})),Et=null,Wt=null;const un=Object.seal(fD(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let yt=!0,Bt=!0,Ze=!1,Dt=!0,kt=!1,Nn=!0,ht=!1,qr=!1,xt=!1,Ri=!1,wi=!1,ia=!1,Hs=!0,mo=!1;const Tr="user-content-";let On=!0,Rn=!1,zn={},Ct=null;const gt=Yo({},["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 on=null;const dn=Yo({},["audio","video","img","source","image","track"]);let Ln=null;const Io=Yo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Oo="http://www.w3.org/1998/Math/MathML",No="http://www.w3.org/2000/svg",Us="http://www.w3.org/1999/xhtml";let uo=Us,Es=!1,Ou=null;const _c=Yo({},[Oo,No,Us],w2e);let Kd=Yo({},["mi","mo","mn","ms","mtext"]),qp=Yo({},["annotation-xml"]);const Ul=Yo({},["title","style","font","a","script"]);let Ac=null;const Jc=["application/xhtml+xml","text/html"],Ya="text/html";let Ba=null,ha=null;const $o=u.createElement("form"),Lc=function(Vt){return Vt instanceof RegExp||Vt instanceof Function},Fa=function(){let Vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ha&&ha===Vt)return;(!Vt||typeof Vt!="object")&&(Vt={}),Vt=V2(Vt),Ac=Jc.indexOf(Vt.PARSER_MEDIA_TYPE)===-1?Ya:Vt.PARSER_MEDIA_TYPE,Ba=Ac==="application/xhtml+xml"?w2e:YF,Ke=kf(Vt,"ALLOWED_TAGS")&&Ap(Vt.ALLOWED_TAGS)?Yo({},Vt.ALLOWED_TAGS,Ba):zt,Ne=kf(Vt,"ALLOWED_ATTR")&&Ap(Vt.ALLOWED_ATTR)?Yo({},Vt.ALLOWED_ATTR,Ba):pn,Ou=kf(Vt,"ALLOWED_NAMESPACES")&&Ap(Vt.ALLOWED_NAMESPACES)?Yo({},Vt.ALLOWED_NAMESPACES,w2e):_c,Ln=kf(Vt,"ADD_URI_SAFE_ATTR")&&Ap(Vt.ADD_URI_SAFE_ATTR)?Yo(V2(Io),Vt.ADD_URI_SAFE_ATTR,Ba):Io,on=kf(Vt,"ADD_DATA_URI_TAGS")&&Ap(Vt.ADD_DATA_URI_TAGS)?Yo(V2(dn),Vt.ADD_DATA_URI_TAGS,Ba):dn,Ct=kf(Vt,"FORBID_CONTENTS")&&Ap(Vt.FORBID_CONTENTS)?Yo({},Vt.FORBID_CONTENTS,Ba):gt,Et=kf(Vt,"FORBID_TAGS")&&Ap(Vt.FORBID_TAGS)?Yo({},Vt.FORBID_TAGS,Ba):V2({}),Wt=kf(Vt,"FORBID_ATTR")&&Ap(Vt.FORBID_ATTR)?Yo({},Vt.FORBID_ATTR,Ba):V2({}),zn=kf(Vt,"USE_PROFILES")?Vt.USE_PROFILES&&typeof Vt.USE_PROFILES=="object"?V2(Vt.USE_PROFILES):Vt.USE_PROFILES:!1,yt=Vt.ALLOW_ARIA_ATTR!==!1,Bt=Vt.ALLOW_DATA_ATTR!==!1,Ze=Vt.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=Vt.ALLOW_SELF_CLOSE_IN_ATTR!==!1,kt=Vt.SAFE_FOR_TEMPLATES||!1,Nn=Vt.SAFE_FOR_XML!==!1,ht=Vt.WHOLE_DOCUMENT||!1,Ri=Vt.RETURN_DOM||!1,wi=Vt.RETURN_DOM_FRAGMENT||!1,ia=Vt.RETURN_TRUSTED_TYPE||!1,xt=Vt.FORCE_BODY||!1,Hs=Vt.SANITIZE_DOM!==!1,mo=Vt.SANITIZE_NAMED_PROPS||!1,On=Vt.KEEP_CONTENT!==!1,Rn=Vt.IN_PLACE||!1,ke=IPt(Vt.ALLOWED_URI_REGEXP)?Vt.ALLOWED_URI_REGEXP:FRe,uo=typeof Vt.NAMESPACE=="string"?Vt.NAMESPACE:Us,Kd=kf(Vt,"MATHML_TEXT_INTEGRATION_POINTS")&&Vt.MATHML_TEXT_INTEGRATION_POINTS&&typeof Vt.MATHML_TEXT_INTEGRATION_POINTS=="object"?V2(Vt.MATHML_TEXT_INTEGRATION_POINTS):Yo({},["mi","mo","mn","ms","mtext"]),qp=kf(Vt,"HTML_INTEGRATION_POINTS")&&Vt.HTML_INTEGRATION_POINTS&&typeof Vt.HTML_INTEGRATION_POINTS=="object"?V2(Vt.HTML_INTEGRATION_POINTS):Yo({},["annotation-xml"]);const jr=kf(Vt,"CUSTOM_ELEMENT_HANDLING")&&Vt.CUSTOM_ELEMENT_HANDLING&&typeof Vt.CUSTOM_ELEMENT_HANDLING=="object"?V2(Vt.CUSTOM_ELEMENT_HANDLING):fD(null);if(Tt=fD(null),kf(jr,"tagNameCheck")&&Lc(jr.tagNameCheck)&&(Tt.tagNameCheck=jr.tagNameCheck),kf(jr,"attributeNameCheck")&&Lc(jr.attributeNameCheck)&&(Tt.attributeNameCheck=jr.attributeNameCheck),kf(jr,"allowCustomizedBuiltInElements")&&typeof jr.allowCustomizedBuiltInElements=="boolean"&&(Tt.allowCustomizedBuiltInElements=jr.allowCustomizedBuiltInElements),kt&&(Bt=!1),wi&&(Ri=!0),zn&&(Ke=Yo({},NRe),Ne=fD(null),zn.html===!0&&(Yo(Ke,ORe),Yo(Ne,PRe)),zn.svg===!0&&(Yo(Ke,y2e),Yo(Ne,T2e),Yo(Ne,kX)),zn.svgFilters===!0&&(Yo(Ke,x2e),Yo(Ne,T2e),Yo(Ne,kX)),zn.mathMl===!0&&(Yo(Ke,k2e),Yo(Ne,BRe),Yo(Ne,kX))),un.tagCheck=null,un.attributeCheck=null,kf(Vt,"ADD_TAGS")&&(typeof Vt.ADD_TAGS=="function"?un.tagCheck=Vt.ADD_TAGS:Ap(Vt.ADD_TAGS)&&(Ke===zt&&(Ke=V2(Ke)),Yo(Ke,Vt.ADD_TAGS,Ba))),kf(Vt,"ADD_ATTR")&&(typeof Vt.ADD_ATTR=="function"?un.attributeCheck=Vt.ADD_ATTR:Ap(Vt.ADD_ATTR)&&(Ne===pn&&(Ne=V2(Ne)),Yo(Ne,Vt.ADD_ATTR,Ba))),kf(Vt,"ADD_URI_SAFE_ATTR")&&Ap(Vt.ADD_URI_SAFE_ATTR)&&Yo(Ln,Vt.ADD_URI_SAFE_ATTR,Ba),kf(Vt,"FORBID_CONTENTS")&&Ap(Vt.FORBID_CONTENTS)&&(Ct===gt&&(Ct=V2(Ct)),Yo(Ct,Vt.FORBID_CONTENTS,Ba)),kf(Vt,"ADD_FORBID_CONTENTS")&&Ap(Vt.ADD_FORBID_CONTENTS)&&(Ct===gt&&(Ct=V2(Ct)),Yo(Ct,Vt.ADD_FORBID_CONTENTS,Ba)),On&&(Ke["#text"]=!0),ht&&Yo(Ke,["html","head","body"]),Ke.table&&(Yo(Ke,["tbody"]),delete Et.tbody),Vt.TRUSTED_TYPES_POLICY){if(typeof Vt.TRUSTED_TYPES_POLICY.createHTML!="function")throw xX('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Vt.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw xX('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ge=Vt.TRUSTED_TYPES_POLICY,ae=ge.createHTML("")}else ge===void 0&&(ge=UPt(B,p)),ge!==null&&typeof ae=="string"&&(ae=ge.createHTML(""));_p&&_p(Vt),ha=Vt},Ra=Yo({},[...y2e,...x2e,...OPt]),ma=Yo({},[...k2e,...NPt]),Kh=function(Vt){let jr=be(Vt);(!jr||!jr.tagName)&&(jr={namespaceURI:uo,tagName:"template"});const Ji=YF(Vt.tagName),Qo=YF(jr.tagName);return Ou[Vt.namespaceURI]?Vt.namespaceURI===No?jr.namespaceURI===Us?Ji==="svg":jr.namespaceURI===Oo?Ji==="svg"&&(Qo==="annotation-xml"||Kd[Qo]):!!Ra[Ji]:Vt.namespaceURI===Oo?jr.namespaceURI===Us?Ji==="math":jr.namespaceURI===No?Ji==="math"&&qp[Qo]:!!ma[Ji]:Vt.namespaceURI===Us?jr.namespaceURI===No&&!qp[Qo]||jr.namespaceURI===Oo&&!Kd[Qo]?!1:!ma[Ji]&&(Ul[Ji]||!Ra[Ji]):!!(Ac==="application/xhtml+xml"&&Ou[Vt.namespaceURI]):!1},Po=function(Vt){WF(a.removed,{element:Vt});try{be(Vt).removeChild(Vt)}catch{ee(Vt)}},Hp=function(Vt,jr){try{WF(a.removed,{attribute:jr.getAttributeNode(Vt),from:jr})}catch{WF(a.removed,{attribute:null,from:jr})}if(jr.removeAttribute(Vt),Vt==="is")if(Ri||wi)try{Po(jr)}catch{}else try{jr.setAttribute(Vt,"")}catch{}},Ug=function(Vt){let jr=null,Ji=null;if(xt)Vt=""+Vt;else{const Ui=LRe(Vt,/^[\r\n\t ]+/);Ji=Ui&&Ui[0]}Ac==="application/xhtml+xml"&&uo===Us&&(Vt=''+Vt+"");const Qo=ge?ge.createHTML(Vt):Vt;if(uo===Us)try{jr=new R().parseFromString(Qo,Ac)}catch{}if(!jr||!jr.documentElement){jr=ne.createDocument(uo,"template",null);try{jr.documentElement.innerHTML=Es?ae:Qo}catch{}}const Hi=jr.body||jr.documentElement;return Vt&&Ji&&Hi.insertBefore(u.createTextNode(Ji),Hi.childNodes[0]||null),uo===Us?X.call(jr,ht?"html":"body")[0]:ht?jr.documentElement:Hi},od=function(Vt){return se.call(Vt.ownerDocument||Vt,Vt,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},cd=function(Vt){return Vt instanceof P&&(typeof Vt.nodeName!="string"||typeof Vt.textContent!="string"||typeof Vt.removeChild!="function"||!(Vt.attributes instanceof A)||typeof Vt.removeAttribute!="function"||typeof Vt.setAttribute!="function"||typeof Vt.namespaceURI!="string"||typeof Vt.insertBefore!="function"||typeof Vt.hasChildNodes!="function")},w1=function(Vt){return typeof y=="function"&&Vt instanceof y};function kh(bs,Vt,jr){KF(bs,Ji=>{Ji.call(a,Vt,jr,ha)})}const Wd=function(Vt){let jr=null;if(kh(G.beforeSanitizeElements,Vt,null),cd(Vt))return Po(Vt),!0;const Ji=Ba(Vt.nodeName);if(kh(G.uponSanitizeElement,Vt,{tagName:Ji,allowedTags:Ke}),Nn&&Vt.hasChildNodes()&&!w1(Vt.firstElementChild)&&Ud(/<[/\w!]/g,Vt.innerHTML)&&Ud(/<[/\w!]/g,Vt.textContent)||Nn&&Vt.namespaceURI===Us&&Ji==="style"&&w1(Vt.firstElementChild)||Vt.nodeType===QF.progressingInstruction||Nn&&Vt.nodeType===QF.comment&&Ud(/<[/\w]/g,Vt.data))return Po(Vt),!0;if(Et[Ji]||!(un.tagCheck instanceof Function&&un.tagCheck(Ji))&&!Ke[Ji]){if(!Et[Ji]&&Zf(Ji)&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Ji)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Ji)))return!1;if(On&&!Ct[Ji]){const Qo=be(Vt)||Vt.parentNode,Hi=oe(Vt)||Vt.childNodes;if(Hi&&Qo){const Ui=Hi.length;for(let zs=Ui-1;zs>=0;--zs){const gi=W(Hi[zs],!0);Qo.insertBefore(gi,ie(Vt))}}}return Po(Vt),!0}return Vt instanceof E&&!Kh(Vt)||(Ji==="noscript"||Ji==="noembed"||Ji==="noframes")&&Ud(/<\/no(script|embed|frames)/i,Vt.innerHTML)?(Po(Vt),!0):(kt&&Vt.nodeType===QF.text&&(jr=Vt.textContent,KF([xe,U,Be],Qo=>{jr=dD(jr,Qo," ")}),Vt.textContent!==jr&&(WF(a.removed,{element:Vt.cloneNode()}),Vt.textContent=jr)),kh(G.afterSanitizeElements,Vt,null),!1)},Yd=function(Vt,jr,Ji){if(Wt[jr]||Hs&&(jr==="id"||jr==="name")&&(Ji in u||Ji in $o))return!1;const Qo=Ne[jr]||un.attributeCheck instanceof Function&&un.attributeCheck(jr,Vt);if(!(Bt&&!Wt[jr]&&Ud(Pe,jr))){if(!(yt&&Ud(je,jr))){if(!Qo||Wt[jr]){if(!(Zf(Vt)&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Vt)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Vt))&&(Tt.attributeNameCheck instanceof RegExp&&Ud(Tt.attributeNameCheck,jr)||Tt.attributeNameCheck instanceof Function&&Tt.attributeNameCheck(jr,Vt))||jr==="is"&&Tt.allowCustomizedBuiltInElements&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Ji)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Ji))))return!1}else if(!Ln[jr]){if(!Ud(ke,dD(Ji,Se,""))){if(!((jr==="src"||jr==="xlink:href"||jr==="href")&&Vt!=="script"&&MRe(Ji,"data:")===0&&on[Vt])){if(!(Ze&&!Ud(Ie,dD(Ji,Se,"")))){if(Ji)return!1}}}}}}return!0},Xd=Yo({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Zf=function(Vt){return!Xd[YF(Vt)]&&Ud(Ce,Vt)},Up=function(Vt){kh(G.beforeSanitizeAttributes,Vt,null);const{attributes:jr}=Vt;if(!jr||cd(Vt))return;const Ji={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ne,forceKeepAttr:void 0};let Qo=jr.length;for(;Qo--;){const Hi=jr[Qo],{name:Ui,namespaceURI:zs,value:gi}=Hi,Bo=Ba(Ui),Ot=gi;let zu=Ui==="value"?Ot:SPt(Ot);if(Ji.attrName=Bo,Ji.attrValue=zu,Ji.keepAttr=!0,Ji.forceKeepAttr=void 0,kh(G.uponSanitizeAttribute,Vt,Ji),zu=Ji.attrValue,mo&&(Bo==="id"||Bo==="name")&&MRe(zu,Tr)!==0&&(Hp(Ui,Vt),zu=Tr+zu),Nn&&Ud(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,zu)){Hp(Ui,Vt);continue}if(Bo==="attributename"&&LRe(zu,"href")){Hp(Ui,Vt);continue}if(Ji.forceKeepAttr)continue;if(!Ji.keepAttr){Hp(Ui,Vt);continue}if(!Dt&&Ud(/\/>/i,zu)){Hp(Ui,Vt);continue}kt&&KF([xe,U,Be],Wh=>{zu=dD(zu,Wh," ")});const Gt=Ba(Vt.nodeName);if(!Yd(Gt,Bo,zu)){Hp(Ui,Vt);continue}if(ge&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!zs)switch(B.getAttributeType(Gt,Bo)){case"TrustedHTML":{zu=ge.createHTML(zu);break}case"TrustedScriptURL":{zu=ge.createScriptURL(zu);break}}if(zu!==Ot)try{zs?Vt.setAttributeNS(zs,Ui,zu):Vt.setAttribute(Ui,zu),cd(Vt)?Po(Vt):ARe(a.removed)}catch{Hp(Ui,Vt)}}kh(G.afterSanitizeAttributes,Vt,null)},u5=function(Vt){let jr=null;const Ji=od(Vt);for(kh(G.beforeSanitizeShadowDOM,Vt,null);jr=Ji.nextNode();)kh(G.uponSanitizeShadowNode,jr,null),Wd(jr),Up(jr),jr.content instanceof v&&u5(jr.content);kh(G.afterSanitizeShadowDOM,Vt,null)};return a.sanitize=function(bs){let Vt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},jr=null,Ji=null,Qo=null,Hi=null;if(Es=!bs,Es&&(bs=""),typeof bs!="string"&&!w1(bs)&&(bs=DPt(bs),typeof bs!="string"))throw xX("dirty is not a string, aborting");if(!a.isSupported)return bs;if(qr||Fa(Vt),a.removed=[],typeof bs=="string"&&(Rn=!1),Rn){const gi=bs.nodeName;if(typeof gi=="string"){const Bo=Ba(gi);if(!Ke[Bo]||Et[Bo])throw xX("root node is forbidden and cannot be sanitized in-place")}}else if(bs instanceof y)jr=Ug(""),Ji=jr.ownerDocument.importNode(bs,!0),Ji.nodeType===QF.element&&Ji.nodeName==="BODY"||Ji.nodeName==="HTML"?jr=Ji:jr.appendChild(Ji);else{if(!Ri&&!kt&&!ht&&bs.indexOf("<")===-1)return ge&&ia?ge.createHTML(bs):bs;if(jr=Ug(bs),!jr)return Ri?null:ia?ae:""}jr&&xt&&Po(jr.firstChild);const Ui=od(Rn?bs:jr);for(;Qo=Ui.nextNode();)Wd(Qo),Up(Qo),Qo.content instanceof v&&u5(Qo.content);if(Rn)return bs;if(Ri){if(kt){jr.normalize();let gi=jr.innerHTML;KF([xe,U,Be],Bo=>{gi=dD(gi,Bo," ")}),jr.innerHTML=gi}if(wi)for(Hi=de.call(jr.ownerDocument);jr.firstChild;)Hi.appendChild(jr.firstChild);else Hi=jr;return(Ne.shadowroot||Ne.shadowrootmode)&&(Hi=pe.call(d,Hi,!0)),Hi}let zs=ht?jr.outerHTML:jr.innerHTML;return ht&&Ke["!doctype"]&&jr.ownerDocument&&jr.ownerDocument.doctype&&jr.ownerDocument.doctype.name&&Ud(RRe,jr.ownerDocument.doctype.name)&&(zs=" +`+zs),kt&&KF([xe,U,Be],gi=>{zs=dD(zs,gi," ")}),ge&&ia?ge.createHTML(zs):zs},a.setConfig=function(){let bs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Fa(bs),qr=!0},a.clearConfig=function(){ha=null,qr=!1},a.isValidAttribute=function(bs,Vt,jr){ha||Fa({});const Ji=Ba(bs),Qo=Ba(Vt);return Yd(Ji,Qo,jr)},a.addHook=function(bs,Vt){typeof Vt=="function"&&WF(G[bs],Vt)},a.removeHook=function(bs,Vt){if(Vt!==void 0){const jr=EPt(G[bs],Vt);return jr===-1?void 0:CPt(G[bs],jr,1)[0]}return ARe(G[bs])},a.removeHooks=function(bs){G[bs]=[]},a.removeAllHooks=function(){G=$Re()},a}var pD=zRe();const bD=//gi,VPt=i=>i?URe(i).replace(/\\n/g,"#br#").split("#br#"):[""],GPt=(()=>{let i=!1;return()=>{i||(KPt(),i=!0)}})();function KPt(){const i="data-temp-href-target";pD.addHook("beforeSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute("target")&&a.setAttribute(i,a.getAttribute("target")??"")}),pD.addHook("afterSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute(i)&&(a.setAttribute("target",a.getAttribute(i)??""),a.removeAttribute(i),a.getAttribute("target")==="_blank"&&a.setAttribute("rel","noopener"))})}const qRe=i=>(GPt(),pD.sanitize(i)),HRe=(i,a)=>{var u;if(((u=a.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=a.securityLevel;d==="antiscript"||d==="strict"?i=qRe(i):d!=="loose"&&(i=URe(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=QPt(i))}return i},bh=(i,a)=>i&&(a.dompurifyConfig?i=pD.sanitize(HRe(i,a),a.dompurifyConfig).toString():i=pD.sanitize(HRe(i,a),{FORBID_TAGS:["style"]}).toString(),i),WPt=(i,a)=>typeof i=="string"?bh(i,a):i.flat().map(u=>bh(u,a)),YPt=i=>bD.test(i),XPt=i=>i.split(bD),QPt=i=>i.replace(/#br#/g,"
"),URe=i=>i.replace(bD,"#br#"),JPt=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},h1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),ZPt=function(...i){const a=i.filter(u=>!isNaN(u));return Math.max(...a)},eBt=function(...i){const a=i.filter(u=>!isNaN(u));return Math.min(...a)},JF=function(i){const a=i.split(/(,)/),u=[];for(let d=0;d0&&d+1Math.max(0,i.split(a).length-1),tBt=(i,a)=>{const u=E2e(i,"~"),d=E2e(a,"~");return u===1&&d===1},nBt=i=>{const a=E2e(i,"~");let u=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},VRe=()=>window.MathMLElement!==void 0,C2e=/\$\$(.*)\$\$/g,$v=i=>{var a;return(((a=i.match(C2e))==null?void 0:a.length)??0)>0},ZF=async(i,a)=>{const u=document.createElement("div");u.innerHTML=await SC(i,a),u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},rBt=async(i,a)=>{if(!$v(i))return i;if(!VRe()&&!a.legacyMathML)return i.replace(C2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>QUt);return i.split(bD).map(d=>$v(d)?` +
+ ${d} +
+ `:`
${d}
`).join("").replace(C2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:VRe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},SC=async(i,a)=>bh(await rBt(i,a),a),oi={getRows:VPt,sanitizeText:bh,sanitizeTextOrArray:WPt,hasBreaks:YPt,splitBreaks:XPt,lineBreakRegex:bD,removeScript:qRe,getUrl:JPt,evaluate:h1,getMax:ZPt,getMin:eBt},TX={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:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(a-i)*6*u:u<1/2?a:u<2/3?i+(a-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s:a,l:u},d)=>{if(!a)return u*2.55;i/=360,a/=100,u/=100;const p=u<.5?u*(1+a):u+a-u*a,v=2*u-p;switch(d){case"r":return TX.hue2rgb(v,p,i+1/3)*255;case"g":return TX.hue2rgb(v,p,i)*255;case"b":return TX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:u},d)=>{i/=255,a/=255,u/=255;const p=Math.max(i,a,u),v=Math.min(i,a,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,E=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return E*100;switch(p){case i:return((a-u)/y+(aa>u?Math.min(a,Math.max(u,i)):Math.min(u,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},w9={};for(let i=0;i<=255;i++)w9[i]=Ka.unit.dec2hex(i);const Bg={ALL:0,RGB:1,HSL:2};class iBt{constructor(){this.type=Bg.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=Bg.ALL}is(a){return this.type===a}}const sBt=iBt;class aBt{constructor(a,u){this.color=u,this.changed=!1,this.data=a,this.type=new sBt}set(a,u){return this.color=u,this.changed=!1,this.data=a,this.type.type=Bg.ALL,this}_ensureHSL(){const a=this.data,{h:u,s:d,l:p}=a;u===void 0&&(a.h=Ka.channel.rgb2hsl(a,"h")),d===void 0&&(a.s=Ka.channel.rgb2hsl(a,"s")),p===void 0&&(a.l=Ka.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:u,g:d,b:p}=a;u===void 0&&(a.r=Ka.channel.hsl2rgb(a,"r")),d===void 0&&(a.g=Ka.channel.hsl2rgb(a,"g")),p===void 0&&(a.b=Ka.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,u=a.r;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,u=a.g;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,u=a.b;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,u=a.h;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,u=a.s;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,u=a.l;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(Bg.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(Bg.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(Bg.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(Bg.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(Bg.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(Bg.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const oBt=aBt,EX=new oBt({r:0,g:0,b:0,a:0},"transparent"),GRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(GRe.re);if(!a)return;const u=a[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,E=b?8:4,_=v?0:-1,A=b?255:15;return EX.set({r:(d>>E*(_+3)&A)*y,g:(d>>E*(_+2)&A)*y,b:(d>>E*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:a,g:u,b:d,a:p}=i;return p<1?`#${w9[Math.round(a)]}${w9[Math.round(u)]}${w9[Math.round(d)]}${w9[Math.round(p*255)]}`:`#${w9[Math.round(a)]}${w9[Math.round(u)]}${w9[Math.round(d)]}`}},eR=GRe,CX={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:i=>{const a=i.match(CX.hueRe);if(a){const[,u,d]=a;switch(d){case"grad":return Ka.channel.clamp.h(parseFloat(u)*.9);case"rad":return Ka.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Ka.channel.clamp.h(parseFloat(u)*360)}}return Ka.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const u=i.match(CX.re);if(!u)return;const[,d,p,v,b,y]=u;return EX.set({h:CX._hue2deg(d),s:Ka.channel.clamp.s(parseFloat(p)),l:Ka.channel.clamp.l(parseFloat(v)),a:b?Ka.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:u,l:d,a:p}=i;return p<1?`hsla(${Ka.lang.round(a)}, ${Ka.lang.round(u)}%, ${Ka.lang.round(d)}%, ${p})`:`hsl(${Ka.lang.round(a)}, ${Ka.lang.round(u)}%, ${Ka.lang.round(d)}%)`}},SX=CX,_X={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:i=>{i=i.toLowerCase();const a=_X.colors[i];if(a)return eR.parse(a)},stringify:i=>{const a=eR.stringify(i);for(const u in _X.colors)if(_X.colors[u]===a)return u}},KRe=_X,WRe={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:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const u=i.match(WRe.re);if(!u)return;const[,d,p,v,b,y,E,_,A]=u;return EX.set({r:Ka.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Ka.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Ka.channel.clamp.b(E?parseFloat(y)*2.55:parseFloat(y)),a:_?Ka.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:a,g:u,b:d,a:p}=i;return p<1?`rgba(${Ka.lang.round(a)}, ${Ka.lang.round(u)}, ${Ka.lang.round(d)}, ${Ka.lang.round(p)})`:`rgb(${Ka.lang.round(a)}, ${Ka.lang.round(u)}, ${Ka.lang.round(d)})`}},AX=WRe,R3={format:{keyword:KRe,hex:eR,rgb:AX,rgba:AX,hsl:SX,hsla:SX},parse:i=>{if(typeof i!="string")return i;const a=eR.parse(i)||AX.parse(i)||SX.parse(i)||KRe.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Bg.HSL)||i.data.r===void 0?SX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?AX.stringify(i):eR.stringify(i)},YRe=(i,a)=>{const u=R3.parse(i);for(const d in a)u[d]=Ka.channel.clamp[d](a[d]);return R3.stringify(u)},_C=(i,a,u=0,d=1)=>{if(typeof i!="number")return YRe(i,{a});const p=EX.set({r:Ka.channel.clamp.r(i),g:Ka.channel.clamp.g(a),b:Ka.channel.clamp.b(u),a:Ka.channel.clamp.a(d)});return R3.stringify(p)},XRe=(i,a)=>Ka.lang.round(R3.parse(i)[a]),cBt=i=>{const{r:a,g:u,b:d}=R3.parse(i),p=.2126*Ka.channel.toLinear(a)+.7152*Ka.channel.toLinear(u)+.0722*Ka.channel.toLinear(d);return Ka.lang.round(p)},uBt=i=>cBt(i)>=.5,AC=i=>!uBt(i),QRe=(i,a,u)=>{const d=R3.parse(i),p=d[a],v=Ka.channel.clamp[a](p+u);return p!==v&&(d[a]=v),R3.stringify(d)},Ws=(i,a)=>QRe(i,"l",a),ba=(i,a)=>QRe(i,"l",-a),In=(i,a)=>{const u=R3.parse(i),d={};for(const p in a)a[p]&&(d[p]=u[p]+a[p]);return YRe(i,d)},lBt=(i,a,u=50)=>{const{r:d,g:p,b:v,a:b}=R3.parse(i),{r:y,g:E,b:_,a:A}=R3.parse(a),P=u/100,R=P*2-1,B=b-A,W=((R*B===-1?R:(R+B)/(1+R*B))+1)/2,ee=1-W,ie=d*W+y*ee,oe=p*W+E*ee,be=v*W+_*ee,ge=b*P+A*(1-P);return _C(ie,oe,be,ge)},Gi=(i,a=100)=>{const u=R3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,lBt(u,i,a)},Lp=(i,a)=>a?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),LX="#ffffff",MX="#f2f2f2";let hBt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var u,d,p,v,b,y,E,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Lp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Lp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Gi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Gi(this.tertiaryColor),this.lineColor=this.lineColor||Gi(this.background),this.arrowheadColor=this.arrowheadColor||Gi(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?ba(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||"grey",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||ba(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Gi(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||Ws(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.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||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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const fBt=i=>{const a=new hBt;return a.calculate(i),a};let dBt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ws(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Gi(this.background),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ws(Gi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=_C(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.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.sectionBkgColor=ba("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=ba(this.sectionBkgColor,10),this.taskBorderColor=_C(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=_C(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.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,u,d,p,v,b,y,E,_,A,P;this.secondBkg=Ws(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=Ws(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,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=Ws(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=this.darkTextColor,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=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const gBt=i=>{const a=new dBt;return a.calculate(i),a};let pBt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,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="grey",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.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.sectionBkgColor=_C(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.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,u,d,p,v,b,y,E,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ba(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ba(this.tertiaryColor,40);for(let R=0;R{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const S2e=i=>{const a=new pBt;return a.calculate(i),a};let bBt=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=Ws("#cde498",10),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.primaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(this.background),this.THEME_COLOR_LIMIT=12,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="grey",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.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,u,d,p,v,b,y,E,_,A,P;this.actorBorder=ba(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.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ba(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ba(this.tertiaryColor,40);for(let R=0;R{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const mBt=i=>{const a=new bBt;return a.calculate(i),a};class vBt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Ws(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(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.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="calculated",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.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,u,d,p,v,b,y,E,_,A,P;this.secondBkg=Ws(this.contrast,55),this.border2=this.contrast,this.actorBorder=Ws(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,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 R=0;R{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}}const C7={base:{getThemeVariables:fBt},dark:{getThemeVariables:gBt},default:{getThemeVariables:S2e},forest:{getThemeVariables:mBt},neutral:{getThemeVariables:i=>{const a=new vBt;return a.calculate(i),a}}},S7={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},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,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"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!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,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,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},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},theme:"default",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","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},JRe={...S7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:C7.default.getThemeVariables(),sequence:{...S7.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...S7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...S7.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...S7.pie,useWidth:984},xyChart:{...S7.xyChart,useWidth:void 0},requirement:{...S7.requirement,useWidth:void 0},gitGraph:{...S7.gitGraph,useMaxWidth:!1},sankey:{...S7.sankey,useMaxWidth:!1}},ZRe=(i,a="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,a+d,...ZRe(i[d],"")]:[...u,a+d],[]),wBt=new Set(ZRe(JRe,"")),nh=JRe,DX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>DX(a));return}for(const a of Object.keys(i)){if(Xe.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!wBt.has(a)||i[a]==null){Xe.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Xe.debug("sanitizing object",a),DX(i[a]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)a.includes(d)&&(Xe.debug("sanitizing css option",a),i[a]=eje(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const u=i.themeVariables[a];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Xe.debug("After sanitization",i)}},eje=i=>{let a=0,u=0;for(const d of i){if(a{for(const{id:a,detector:u,loader:d}of i)ije(a,u,d)},ije=(i,a,u)=>{mD[i]?Xe.error(`Detector with key ${i} already exists`):mD[i]={detector:a,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},xBt=i=>mD[i].loader,_2e=(i,a,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(v=>_2e(i,v,p)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(v=>{typeof a[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(a[v])?[]:{}),i[v]=_2e(i[v],a[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof a[v]!="object")&&(i[v]=a[v])}),i)},id=_2e;var kBt=typeof global=="object"&&global&&global.Object===Object&&global;const sje=kBt;var TBt=typeof self=="object"&&self&&self.Object===Object&&self,EBt=sje||TBt||Function("return this")();const j3=EBt;var CBt=j3.Symbol;const zv=CBt;var aje=Object.prototype,SBt=aje.hasOwnProperty,_Bt=aje.toString,nR=zv?zv.toStringTag:void 0;function ABt(i){var a=SBt.call(i,nR),u=i[nR];try{i[nR]=void 0;var d=!0}catch{}var p=_Bt.call(i);return d&&(a?i[nR]=u:delete i[nR]),p}var LBt=Object.prototype,MBt=LBt.toString;function DBt(i){return MBt.call(i)}var IBt="[object Null]",OBt="[object Undefined]",oje=zv?zv.toStringTag:void 0;function LC(i){return i==null?i===void 0?OBt:IBt:oje&&oje in Object(i)?ABt(i):DBt(i)}function dm(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var NBt="[object AsyncFunction]",PBt="[object Function]",BBt="[object GeneratorFunction]",FBt="[object Proxy]";function vD(i){if(!dm(i))return!1;var a=LC(i);return a==PBt||a==BBt||a==NBt||a==FBt}var RBt=j3["__core-js_shared__"];const A2e=RBt;var cje=function(){var i=/[^.]+$/.exec(A2e&&A2e.keys&&A2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function jBt(i){return!!cje&&cje in i}var $Bt=Function.prototype,zBt=$Bt.toString;function MC(i){if(i!=null){try{return zBt.call(i)}catch{}try{return i+""}catch{}}return""}var qBt=/[\\^$.*+?()[\]{}|]/g,HBt=/^\[object .+?Constructor\]$/,UBt=Function.prototype,VBt=Object.prototype,GBt=UBt.toString,KBt=VBt.hasOwnProperty,WBt=RegExp("^"+GBt.call(KBt).replace(qBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function YBt(i){if(!dm(i)||jBt(i))return!1;var a=vD(i)?WBt:HBt;return a.test(MC(i))}function XBt(i,a){return i==null?void 0:i[a]}function DC(i,a){var u=XBt(i,a);return YBt(u)?u:void 0}var QBt=DC(Object,"create");const rR=QBt;function JBt(){this.__data__=rR?rR(null):{},this.size=0}function ZBt(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var eFt="__lodash_hash_undefined__",tFt=Object.prototype,nFt=tFt.hasOwnProperty;function rFt(i){var a=this.__data__;if(rR){var u=a[i];return u===eFt?void 0:u}return nFt.call(a,i)?a[i]:void 0}var iFt=Object.prototype,sFt=iFt.hasOwnProperty;function aFt(i){var a=this.__data__;return rR?a[i]!==void 0:sFt.call(a,i)}var oFt="__lodash_hash_undefined__";function cFt(i,a){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=rR&&a===void 0?oFt:a,this}function IC(i){var a=-1,u=i==null?0:i.length;for(this.clear();++a-1}function pFt(i,a){var u=this.__data__,d=OX(u,i);return d<0?(++this.size,u.push([i,a])):u[d][1]=a,this}function _7(i){var a=-1,u=i==null?0:i.length;for(this.clear();++a-1&&i%1==0&&i<=UFt}function y9(i){return i!=null&&O2e(i.length)&&!vD(i)}function xje(i){return V4(i)&&y9(i)}function VFt(){return!1}var kje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tje=kje&&typeof module=="object"&&module&&!module.nodeType&&module,GFt=Tje&&Tje.exports===kje,Eje=GFt?j3.Buffer:void 0,KFt=Eje?Eje.isBuffer:void 0,WFt=KFt||VFt;const kD=WFt;var YFt="[object Object]",XFt=Function.prototype,QFt=Object.prototype,Cje=XFt.toString,JFt=QFt.hasOwnProperty,ZFt=Cje.call(Object);function Sje(i){if(!V4(i)||LC(i)!=YFt)return!1;var a=I2e(i);if(a===null)return!0;var u=JFt.call(a,"constructor")&&a.constructor;return typeof u=="function"&&u instanceof u&&Cje.call(u)==ZFt}var eRt="[object Arguments]",tRt="[object Array]",nRt="[object Boolean]",rRt="[object Date]",iRt="[object Error]",sRt="[object Function]",aRt="[object Map]",oRt="[object Number]",cRt="[object Object]",uRt="[object RegExp]",lRt="[object Set]",hRt="[object String]",fRt="[object WeakMap]",dRt="[object ArrayBuffer]",gRt="[object DataView]",pRt="[object Float32Array]",bRt="[object Float64Array]",mRt="[object Int8Array]",vRt="[object Int16Array]",wRt="[object Int32Array]",yRt="[object Uint8Array]",xRt="[object Uint8ClampedArray]",kRt="[object Uint16Array]",TRt="[object Uint32Array]",rh={};rh[pRt]=rh[bRt]=rh[mRt]=rh[vRt]=rh[wRt]=rh[yRt]=rh[xRt]=rh[kRt]=rh[TRt]=!0,rh[eRt]=rh[tRt]=rh[dRt]=rh[nRt]=rh[gRt]=rh[rRt]=rh[iRt]=rh[sRt]=rh[aRt]=rh[oRt]=rh[cRt]=rh[uRt]=rh[lRt]=rh[hRt]=rh[fRt]=!1;function ERt(i){return V4(i)&&O2e(i.length)&&!!rh[LC(i)]}function jX(i){return function(a){return i(a)}}var _je=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sR=_je&&typeof module=="object"&&module&&!module.nodeType&&module,CRt=sR&&sR.exports===_je,N2e=CRt&&sje.process,SRt=function(){try{var i=sR&&sR.require&&sR.require("util").types;return i||N2e&&N2e.binding&&N2e.binding("util")}catch{}}();const TD=SRt;var Aje=TD&&TD.isTypedArray,_Rt=Aje?jX(Aje):ERt;const $X=_Rt;function P2e(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var ARt=Object.prototype,LRt=ARt.hasOwnProperty;function zX(i,a,u){var d=i[a];(!(LRt.call(i,a)&&wD(d,u))||u===void 0&&!(a in i))&&BX(i,a,u)}function aR(i,a,u,d){var p=!u;u||(u={});for(var v=-1,b=a.length;++v-1&&i%1==0&&i0){if(++a>=URt)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var WRt=KRt(HRt);const Oje=WRt;function HX(i,a){return Oje(Ije(i,a,NC),i+"")}function oR(i,a,u){if(!dm(u))return!1;var d=typeof a;return(d=="number"?y9(u)&&qX(a,u.length):d=="string"&&a in u)?wD(u[a],i):!1}function YRt(i){return HX(function(a,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&oR(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),a=Object(a);++dy.args);DX(b),d=id(d,[...b])}else d=u.args;if(!d)return;let p=IX(i,a);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},Pje=function(i,a=null){try{const u=new RegExp(`[%]{2}(?![{]${JRt.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let d;const p=[];for(;(d=tR.exec(i))!==null;)if(d.index===tR.lastIndex&&tR.lastIndex++,d&&!a||a&&d[1]&&d[1].match(a)||a&&d[2]&&d[2].match(a)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},ejt=function(i){return i.replace(tR,"")},tjt=function(i,a){for(const[u,d]of a.entries())if(d.match(i))return u;return-1};function qv(i,a){if(!i)return a;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return QRt[u]??a}function njt(i,a){const u=i.trim();if(u)return a.securityLevel!=="loose"?b9.sanitizeUrl(u):u}const rjt=(i,...a)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b{u+=Bje(p,a),a=p});const d=u/2;return B2e(i,d)}function sjt(i){return i.length===1?i[0]:ijt(i)}const Fje=(i,a=2)=>{const u=Math.pow(10,a);return Math.round(i*u)/u},B2e=(i,a)=>{let u,d=a;for(const p of i){if(u){const v=Bje(p,u);if(v=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:Fje((1-b)*u.x+b*p.x,5),y:Fje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},ajt=(i,a,u)=>{Xe.info(`our points ${JSON.stringify(a)}`),a[0]!==u&&(a=a.reverse());const p=B2e(a,25),v=i?10:5,b=Math.atan2(a[0].y-p.y,a[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(a[0].x+p.x)/2,y.y=-Math.cos(b)*v+(a[0].y+p.y)/2,y};function ojt(i,a,u){const d=structuredClone(u);Xe.info("our points",d),a!=="start_left"&&a!=="start_right"&&d.reverse();const p=25+i,v=B2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),E={x:0,y:0};return a==="start_left"?(E.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,E.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):a==="end_right"?(E.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,E.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):a==="end_left"?(E.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,E.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(E.x=Math.sin(y)*b+(d[0].x+v.x)/2,E.y=-Math.cos(y)*b+(d[0].y+v.y)/2),E}function gm(i){let a="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":a=a+d+";");return{style:a,labelStyle:u}}let Rje=0;const jje=()=>(Rje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Rje);function cjt(i){let a="";const u="0123456789abcdef",d=u.length;for(let p=0;pcjt(i.length),ujt=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:""}},ljt=function(i,a){const u=a.text.replace(oi.lineBreakRegex," "),[,d]=PC(a.fontSize),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.style("text-anchor",a.anchor),p.style("font-family",a.fontFamily),p.style("font-size",d),p.style("font-weight",a.fontWeight),p.attr("fill",a.fill),a.class!==void 0&&p.attr("class",a.class);const v=p.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.attr("fill",a.fill),v.text(u),p},zje=yD((i,a,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},u),oi.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const E=G4(`${b} `,u),_=G4(v,u);if(E>a){const{hyphenatedStrings:R,remainingWord:B}=hjt(b,a,"-",u);p.push(v,...R),v=B}else _+E>=a?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,a,u)=>`${i}${a}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),hjt=yD((i,a,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,E)=>{const _=`${b}${y}`;if(G4(_,d)>=a){const P=E+1,R=p.length===P,B=`${_}${u}`;v.push(R?_:B),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,a,u="-",d)=>`${i}${a}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function F2e(i,a){return R2e(i,a).height}function G4(i,a){return R2e(i,a).width}const R2e=yD((i,a)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=a;if(!i)return{width:0,height:0};const[,v]=PC(u),b=["sans-serif",d],y=i.split(oi.lineBreakRegex),E=[],_=Dr("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let B=0;const j={width:0,height:0,lineHeight:0};for(const W of y){const ee=ujt();ee.text=W||Nje;const ie=ljt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),B=Math.round(oe.height),j.height+=B,j.lineHeight=Math.round(Math.max(j.lineHeight,B))}E.push(j)}A.remove();const P=isNaN(E[1].height)||isNaN(E[1].width)||isNaN(E[1].lineHeight)||E[0].height>E[1].height&&E[0].width>E[1].width&&E[0].lineHeight>E[1].lineHeight?0:1;return E[P]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class fjt{constructor(a=!1,u){this.count=0,this.count=u?u.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let VX;const djt=function(i){return VX=VX||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),VX.innerHTML=i,unescape(VX.textContent)};function qje(i){return"str"in i}const gjt=(i,a,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",a)},PC=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function cR(i,a){return UX({},i,a)}const So={assignWithDepth:id,wrapLabel:zje,calculateTextHeight:F2e,calculateTextWidth:G4,calculateTextDimensions:R2e,cleanAndMerge:cR,detectInit:ZRt,detectDirective:Pje,isSubstringInArray:tjt,interpolateToCurve:qv,calcLabelPosition:sjt,calcCardinalityPosition:ajt,calcTerminalLabelPosition:ojt,formatUrl:njt,getStylesFromArray:gm,generateId:jje,random:$je,runFunc:rjt,entityDecode:djt,insertTitle:gjt,parseFontSize:PC,InitIDGenerator:fjt},pjt=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),a=a.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),a},uR=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var j2e="comm",Hje="rule",Uje="decl",bjt="@media",mjt="@import",vjt="@supports",$2e="@keyframes",Vje="@layer",Gje=Math.abs,z2e=String.fromCharCode;function Kje(i){return i.trim()}function GX(i,a,u){return i.replace(a,u)}function wjt(i,a,u){return i.indexOf(a,u)}function lR(i,a){return i.charCodeAt(a)|0}function hR(i,a,u){return i.slice(a,u)}function L7(i){return i.length}function Wje(i){return i.length}function KX(i,a){return a.push(i),i}var WX=1,CD=1,Yje=0,Hv=0,I0=0,SD="";function q2e(i,a,u,d,p,v,b,y){return{value:i,root:a,parent:u,type:d,props:p,children:v,line:WX,column:CD,length:b,return:"",siblings:y}}function yjt(){return I0}function xjt(){return I0=Hv>0?lR(SD,--Hv):0,CD--,I0===10&&(CD=1,WX--),I0}function z3(){return I0=Hv2||H2e(I0)>3?"":" "}function Cjt(i,a){for(;--a&&z3()&&!(I0<48||I0>102||I0>57&&I0<65||I0>70&&I0<97););return XX(i,YX()+(a<6&&BC()==32&&z3()==32))}function V2e(i){for(;z3();)switch(I0){case i:return Hv;case 34:case 39:i!==34&&i!==39&&V2e(I0);break;case 40:i===41&&V2e(i);break;case 92:z3();break}return Hv}function Sjt(i,a){for(;z3()&&i+I0!==47+10;)if(i+I0===42+42&&BC()===47)break;return"/*"+XX(a,Hv-1)+"*"+z2e(i===47?i:z3())}function _jt(i){for(;!H2e(BC());)z3();return XX(i,Hv)}function Ajt(i){return Tjt(QX("",null,null,null,[""],i=kjt(i),0,[0],i))}function QX(i,a,u,d,p,v,b,y,E){for(var _=0,A=0,P=b,R=0,B=0,j=0,W=1,ee=1,ie=1,oe=0,be="",ge=p,ae=v,ne=d,se=be;ee;)switch(j=oe,oe=z3()){case 40:if(j!=108&&lR(se,P-1)==58){wjt(se+=GX(U2e(oe),"&","&\f"),"&\f",Gje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=U2e(oe);break;case 9:case 10:case 13:case 32:se+=Ejt(j);break;case 92:se+=Cjt(YX()-1,7);continue;case 47:switch(BC()){case 42:case 47:KX(Ljt(Sjt(z3(),YX()),a,u,E),E);break;default:se+="/"}break;case 123*W:y[_++]=L7(se)*ie;case 125*W:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=GX(se,/\f/g,"")),B>0&&L7(se)-P&&KX(B>32?Qje(se+";",d,u,P-1,E):Qje(GX(se," ","")+";",d,u,P-2,E),E);break;case 59:se+=";";default:if(KX(ne=Xje(se,a,u,_,A,p,y,be,ge=[],ae=[],P,v),v),oe===123)if(A===0)QX(se,a,ne,ne,ge,v,P,y,ae);else switch(R===99&&lR(se,3)===110?100:R){case 100:case 108:case 109:case 115:QX(i,ne,ne,d&&KX(Xje(i,ne,ne,0,0,p,y,be,p,ge=[],P,ae),ae),p,ae,P,y,d?ge:ae);break;default:QX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=B=0,W=ie=1,be=se="",P=b;break;case 58:P=1+L7(se),B=j;default:if(W<1){if(oe==123)--W;else if(oe==125&&W++==0&&xjt()==125)continue}switch(se+=z2e(oe),oe*W){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(L7(se)-1)*ie,ie=1;break;case 64:BC()===45&&(se+=U2e(z3())),R=BC(),A=P=L7(be=se+=_jt(YX())),oe++;break;case 45:j===45&&L7(se)==2&&(W=0)}}return v}function Xje(i,a,u,d,p,v,b,y,E,_,A,P){for(var R=p-1,B=p===0?v:[""],j=Wje(B),W=0,ee=0,ie=0;W0?B[oe]+" "+be:GX(be,/&\f/g,B[oe])))&&(E[ie++]=ge);return q2e(i,a,u,p===0?Hje:y,E,_,A,P)}function Ljt(i,a,u,d){return q2e(i,a,u,j2e,z2e(yjt()),hR(i,2,-2),0,d)}function Qje(i,a,u,d,p){return q2e(i,a,u,Uje,hR(i,0,d),hR(i,d+1,-1),d,p)}function G2e(i,a){for(var u="",d=0;d{let u=id({},i),d={};for(const p of a)n$e(p),d=id(d,p);if(u=id(u,d),d.theme&&d.theme in C7){const p=id({},Zje),v=id(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in C7&&(u.themeVariables=C7[u.theme].getThemeVariables(v))}return fR=u,i$e(fR),fR},Ijt=i=>(G2=id({},_D),G2=id(G2,i),i.theme&&C7[i.theme]&&(G2.themeVariables=C7[i.theme].getThemeVariables(i.themeVariables)),JX(G2,AD),G2),Ojt=i=>{Zje=id({},i)},Njt=i=>(G2=id(G2,i),JX(G2,AD),G2),e$e=()=>id({},G2),t$e=i=>(i$e(i),id(fR,i),mh()),mh=()=>id({},fR),n$e=i=>{i&&(["secure",...G2.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Xe.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&n$e(i[a])}))},Pjt=i=>{DX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),AD.push(i),JX(G2,AD)},ZX=(i=G2)=>{AD=[],JX(i,AD)},Bjt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},r$e={},Fjt=i=>{r$e[i]||(Xe.warn(Bjt[i]),r$e[i]=!0)},i$e=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&Fjt("LAZY_LOAD_DEPRECATED")},s$e="c4",Rjt={id:s$e,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Vt);return{id:s$e,diagram:i}}},a$e="flowchart",jjt={id:a$e,detector:(i,a)=>{var u,d;return((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=a==null?void 0:a.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Wen);return{id:a$e,diagram:i}}},o$e="flowchart-v2",$jt={id:o$e,detector:(i,a)=>{var u,d,p;return((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=a==null?void 0:a.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Yen);return{id:o$e,diagram:i}}},c$e="er",zjt={id:c$e,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xtn);return{id:c$e,diagram:i}}},u$e="gitGraph",qjt={id:u$e,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ktn);return{id:u$e,diagram:i}}},l$e="gantt",Hjt={id:l$e,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Bnn);return{id:l$e,diagram:i}}},h$e="info",Ujt={id:h$e,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Rnn);return{id:h$e,diagram:i}}},f$e="pie",Vjt={id:f$e,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Unn);return{id:f$e,diagram:i}}},d$e="quadrantChart",Gjt={id:d$e,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>arn);return{id:d$e,diagram:i}}},g$e="xychart",Kjt={id:g$e,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Mrn);return{id:g$e,diagram:i}}},p$e="requirement",Wjt={id:p$e,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$rn);return{id:p$e,diagram:i}}},b$e="sequence",Yjt={id:b$e,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Hin);return{id:b$e,diagram:i}}},m$e="class",Xjt={id:m$e,detector:(i,a)=>{var u;return((u=a==null?void 0:a.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dsn);return{id:m$e,diagram:i}}},v$e="classDiagram",Qjt={id:v$e,detector:(i,a)=>{var u;return/^\s*classDiagram/.test(i)&&((u=a==null?void 0:a.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wsn);return{id:v$e,diagram:i}}},w$e="state",Jjt={id:w$e,detector:(i,a)=>{var u;return((u=a==null?void 0:a.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aan);return{id:w$e,diagram:i}}},y$e="stateDiagram",Zjt={id:y$e,detector:(i,a)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=a==null?void 0:a.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Can);return{id:y$e,diagram:i}}},x$e="journey",e$t={id:x$e,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Uan);return{id:x$e,diagram:i}}},t$t=function(i,a){for(let u of a)i.attr(u[0],u[1])},n$t=function(i,a,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${a}px;`)):(d.set("height",i),d.set("width",a)),d},Fg=function(i,a,u,d){const p=n$t(a,u,d);t$t(i,p)},x9=function(i,a,u,d){const p=a.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,E=0;Xe.info(`Graph bounds: ${y}x${E}`,i),y=v+u*2,E=b+u*2,Xe.info(`Calculated bounds: ${y}x${E}`),Fg(a,E,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;a.attr("viewBox",_)},eQ={};function k$e(i){return[...i.cssRules].map(a=>a.cssText).join(` +`)}const r$t=(i,a,u)=>{let d="";return i in eQ&&eQ[i]?d=eQ[i](u):Xe.warn(`No theme found for ${i}`),` & { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + fill: ${u.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${u.errorBkgColor}; + } + & .error-text { + fill: ${u.errorTextColor}; + stroke: ${u.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${u.lineColor}; + stroke: ${u.lineColor}; + } + & .marker.cross { + stroke: ${u.lineColor}; + } + + & svg { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + } + + ${d} + + ${a} +`},i$t=(i,a)=>{a!==void 0&&(eQ[i]=a)},s$t=r$t;let K2e="",W2e="",Y2e="";const X2e=i=>bh(i,mh()),Rg=()=>{K2e="",Y2e="",W2e=""},jg=i=>{K2e=X2e(i).replace(/^\s+/g,"")},Mp=()=>K2e,Dp=i=>{Y2e=X2e(i).replace(/\n\s+/g,` +`)},Ip=()=>Y2e,pm=i=>{W2e=X2e(i)},Op=()=>W2e,T$e=Object.freeze(Object.defineProperty({__proto__:null,clear:Rg,getAccDescription:Ip,getAccTitle:Mp,getDiagramTitle:Op,setAccDescription:Dp,setAccTitle:jg,setDiagramTitle:pm},Symbol.toStringTag,{value:"Module"})),a$t=Xe,o$t=Spe,qt=mh,c$t=t$e,E$e=_D,u$t=i=>bh(i,qt()),C$e=x9,l$t=()=>T$e,tQ={},nQ=(i,a,u)=>{var d;if(tQ[i])throw new Error(`Diagram ${i} already registered.`);tQ[i]=a,u&&ije(i,u),i$t(i,a.styles),(d=a.injectUtils)==null||d.call(a,a$t,o$t,qt,u$t,C$e,l$t(),()=>{})},Q2e=i=>{if(i in tQ)return tQ[i];throw new h$t(i)};class h$t extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const dR=i=>{var p;const{securityLevel:a}=qt();let u=Dr("body");if(a==="sandbox"){const b=((p=Dr(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Dr(b.body)}return u.select(`#${i}`)},S$e={draw:(i,a,u)=>{Xe.debug(`rendering svg for syntax error +`);const d=dR(a),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Fg(d,100,512,!0),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},f$t=S$e,d$t={db:{},renderer:S$e,parser:{parser:{yy:{}},parse:()=>{}}},_$e="flowchart-elk",g$t={id:_$e,detector:(i,a)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aon);return{id:_$e,diagram:i}}},A$e="timeline",p$t={id:A$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Con);return{id:A$e,diagram:i}}},L$e="mindmap",b$t={id:L$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Zon);return{id:L$e,diagram:i}}},M$e="sankey",m$t={id:M$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Lcn);return{id:M$e,diagram:i}}},D$e="block",v$t={id:D$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qcn);return{id:D$e,diagram:i}}};let I$e=!1;const J2e=()=>{I$e||(I$e=!0,nQ("error",d$t,i=>i.toLowerCase().trim()==="error"),nQ("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{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")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),rje(Rjt,Qjt,Xjt,zjt,Hjt,Ujt,Vjt,Wjt,Yjt,g$t,$jt,jjt,b$t,p$t,qjt,Zjt,Jjt,e$t,Gjt,m$t,Kjt,v$t))};class O$e{constructor(a,u={}){this.text=a,this.metadata=u,this.type="graph",this.text=pjt(a),this.text+=` +`;const d=mh();try{this.type=IX(a,d)}catch(v){this.type="error",this.detectError=v}const p=Q2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const a=mh();(p=this.init)==null||p.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,u){await this.renderer.draw(this.text,a,u,this)}getParser(){return this.parser}getType(){return this.type}}const w$t=async(i,a={})=>{const u=IX(i,mh());try{Q2e(u)}catch{const p=xBt(u);if(!p)throw new nje(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();nQ(v,b)}return new O$e(i,a)};let N$e=[];const y$t=()=>{N$e.forEach(i=>{i()}),N$e=[]};var x$t=mje(Object.keys,Object);const k$t=x$t;var T$t=Object.prototype,E$t=T$t.hasOwnProperty;function P$e(i){if(!RX(i))return k$t(i);var a=[];for(var u in Object(i))E$t.call(i,u)&&u!="constructor"&&a.push(u);return a}var C$t=DC(j3,"DataView");const Z2e=C$t;var S$t=DC(j3,"Promise");const ebe=S$t;var _$t=DC(j3,"Set");const LD=_$t;var A$t=DC(j3,"WeakMap");const tbe=A$t;var B$e="[object Map]",L$t="[object Object]",F$e="[object Promise]",R$e="[object Set]",j$e="[object WeakMap]",$$e="[object DataView]",M$t=MC(Z2e),D$t=MC(iR),I$t=MC(ebe),O$t=MC(LD),N$t=MC(tbe),FC=LC;(Z2e&&FC(new Z2e(new ArrayBuffer(1)))!=$$e||iR&&FC(new iR)!=B$e||ebe&&FC(ebe.resolve())!=F$e||LD&&FC(new LD)!=R$e||tbe&&FC(new tbe)!=j$e)&&(FC=function(i){var a=LC(i),u=a==L$t?i.constructor:void 0,d=u?MC(u):"";if(d)switch(d){case M$t:return $$e;case D$t:return B$e;case I$t:return F$e;case O$t:return R$e;case N$t:return j$e}return a});const MD=FC;var P$t="[object Map]",B$t="[object Set]",F$t=Object.prototype,R$t=F$t.hasOwnProperty;function gR(i){if(i==null)return!0;if(y9(i)&&(D0(i)||typeof i=="string"||typeof i.splice=="function"||kD(i)||$X(i)||xD(i)))return!i.length;var a=MD(i);if(a==P$t||a==B$t)return!i.size;if(RX(i))return!P$e(i).length;for(var u in i)if(R$t.call(i,u))return!1;return!0}const j$t="graphics-document document";function $$t(i,a){i.attr("role",j$t),a!==""&&i.attr("aria-roledescription",a)}function z$t(i,a,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(a){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(a)}}}const q$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function z$e(i){return typeof i>"u"||i===null}function H$t(i){return typeof i=="object"&&i!==null}function U$t(i){return Array.isArray(i)?i:z$e(i)?[]:[i]}function V$t(i,a){var u,d,p,v;if(a)for(v=Object.keys(a),u=0,d=v.length;uy&&(v=" ... ",a=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(a,u).replace(/\t/g,"→")+b,pos:d-a+v.length}}function rbe(i,a){return Np.repeat(" ",a-i.length)+i}function ezt(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",E,_,A=Math.min(i.line+a.linesAfter,p.length).toString().length,P=a.maxLength-(a.indent+A+3);for(E=1;E<=a.linesBefore&&!(b-E<0);E++)_=nbe(i.buffer,d[b-E],p[b-E],i.position-(d[b]-d[b-E]),P),y=Np.repeat(" ",a.indent)+rbe((i.line-E+1).toString(),A)+" | "+_.str+` +`+y;for(_=nbe(i.buffer,d[b],p[b],i.position,P),y+=Np.repeat(" ",a.indent)+rbe((i.line+1).toString(),A)+" | "+_.str+` +`,y+=Np.repeat("-",a.indent+A+3+_.pos)+`^ +`,E=1;E<=a.linesAfter&&!(b+E>=p.length);E++)_=nbe(i.buffer,d[b+E],p[b+E],i.position-(d[b]-d[b+E]),P),y+=Np.repeat(" ",a.indent)+rbe((i.line+E+1).toString(),A)+" | "+_.str+` +`;return y.replace(/\n$/,"")}var tzt=ezt,nzt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],rzt=["scalar","sequence","mapping"];function izt(i){var a={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){a[String(d)]=u})}),a}function szt(i,a){if(a=a||{},Object.keys(a).forEach(function(u){if(nzt.indexOf(u)===-1)throw new M7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(u){return u},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=izt(a.styleAliases||null),rzt.indexOf(this.kind)===-1)throw new M7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var $g=szt;function H$e(i,a){var u=[];return i[a].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function azt(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(a=0,u=arguments.length;a=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_zt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Azt(i){return!(i===null||!_zt.test(i)||i[i.length-1]==="_")}function Lzt(i){var a,u;return a=i.replace(/_/g,"").toLowerCase(),u=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:u*parseFloat(a,10)}var Mzt=/^[-+]?[0-9]+e/;function Dzt(i,a){var u;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Np.isNegativeZero(i))return"-0.0";return u=i.toString(10),Mzt.test(u)?u.replace("e",".e"):u}function Izt(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Np.isNegativeZero(i))}var Ozt=new $g("tag:yaml.org,2002:float",{kind:"scalar",resolve:Azt,construct:Lzt,predicate:Izt,represent:Dzt,defaultStyle:"lowercase"}),U$e=hzt.extend({implicit:[pzt,wzt,Szt,Ozt]}),Nzt=U$e,V$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),G$e=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 Pzt(i){return i===null?!1:V$e.exec(i)!==null||G$e.exec(i)!==null}function Bzt(i){var a,u,d,p,v,b,y,E=0,_=null,A,P,R;if(a=V$e.exec(i),a===null&&(a=G$e.exec(i)),a===null)throw new Error("Date resolve error");if(u=+a[1],d=+a[2]-1,p=+a[3],!a[4])return new Date(Date.UTC(u,d,p));if(v=+a[4],b=+a[5],y=+a[6],a[7]){for(E=a[7].slice(0,3);E.length<3;)E+="0";E=+E}return a[9]&&(A=+a[10],P=+(a[11]||0),_=(A*60+P)*6e4,a[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,E)),_&&R.setTime(R.getTime()-_),R}function Fzt(i){return i.toISOString()}var Rzt=new $g("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Pzt,construct:Bzt,instanceOf:Date,represent:Fzt});function jzt(i){return i==="<<"||i===null}var $zt=new $g("tag:yaml.org,2002:merge",{kind:"scalar",resolve:jzt}),sbe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function zzt(i){if(i===null)return!1;var a,u,d=0,p=i.length,v=sbe;for(u=0;u64)){if(a<0)return!1;d+=6}return d%8===0}function qzt(i){var a,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=sbe,b=0,y=[];for(a=0;a>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(a));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function Hzt(i){var a="",u=0,d,p,v=i.length,b=sbe;for(d=0;d>18&63],a+=b[u>>12&63],a+=b[u>>6&63],a+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(a+=b[u>>18&63],a+=b[u>>12&63],a+=b[u>>6&63],a+=b[u&63]):p===2?(a+=b[u>>10&63],a+=b[u>>4&63],a+=b[u<<2&63],a+=b[64]):p===1&&(a+=b[u>>2&63],a+=b[u<<4&63],a+=b[64],a+=b[64]),a}function Uzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var Vzt=new $g("tag:yaml.org,2002:binary",{kind:"scalar",resolve:zzt,construct:qzt,predicate:Uzt,represent:Hzt}),Gzt=Object.prototype.hasOwnProperty,Kzt=Object.prototype.toString;function Wzt(i){if(i===null)return!0;var a=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u>10)+55296,(i-65536&1023)+56320)}for(var eze=new Array(256),tze=new Array(256),ID=0;ID<256;ID++)eze[ID]=Z$e(ID)?1:0,tze[ID]=Z$e(ID);function gqt(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||sqt,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function nze(i,a){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=tzt(u),new M7(a,u)}function la(i,a){throw nze(i,a)}function sQ(i,a){i.onWarning&&i.onWarning.call(null,nze(i,a))}var rze={YAML:function(a,u,d){var p,v,b;a.version!==null&&la(a,"duplication of %YAML directive"),d.length!==1&&la(a,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&la(a,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&la(a,"unacceptable YAML version of the document"),a.version=d[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&sQ(a,"unsupported YAML version of the document")},TAG:function(a,u,d){var p,v;d.length!==2&&la(a,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],X$e.test(p)||la(a,"ill-formed tag handle (first argument) of the TAG directive"),k9.call(a.tagMap,p)&&la(a,'there is a previously declared suffix for "'+p+'" tag handle'),Q$e.test(v)||la(a,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{la(a,"tag prefix is malformed: "+v)}a.tagMap[p]=v}};function T9(i,a,u,d){var p,v,b,y;if(a1&&(i.result+=Np.repeat(` +`,a-1))}function pqt(i,a,u){var d,p,v,b,y,E,_,A,P=i.kind,R=i.result,B;if(B=i.input.charCodeAt(i.position),K2(B)||DD(B)||B===35||B===38||B===42||B===33||B===124||B===62||B===39||B===34||B===37||B===64||B===96||(B===63||B===45)&&(p=i.input.charCodeAt(i.position+1),K2(p)||u&&DD(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;B!==0;){if(B===58){if(p=i.input.charCodeAt(i.position+1),K2(p)||u&&DD(p))break}else if(B===35){if(d=i.input.charCodeAt(i.position-1),K2(d))break}else{if(i.position===i.lineStart&&aQ(i)||u&&DD(B))break;if(K4(B))if(E=i.line,_=i.lineStart,A=i.lineIndent,O0(i,!1,-1),i.lineIndent>=a){y=!0,B=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=E,i.lineStart=_,i.lineIndent=A;break}}y&&(T9(i,v,b,!1),cbe(i,i.line-E),v=b=i.position,y=!1),RC(B)||(b=i.position+1),B=i.input.charCodeAt(++i.position)}return T9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function bqt(i,a){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(T9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else K4(u)?(T9(i,d,p,!0),cbe(i,O0(i,!1,a)),d=p=i.position):i.position===i.lineStart&&aQ(i)?la(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);la(i,"unexpected end of the stream within a single quoted scalar")}function mqt(i,a){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return T9(i,u,i.position,!0),i.position++,!0;if(y===92){if(T9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),K4(y))O0(i,!1,a);else if(y<256&&eze[y])i.result+=tze[y],i.position++;else if((b=hqt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=lqt(y))>=0?v=(v<<4)+b:la(i,"expected hexadecimal character");i.result+=dqt(v),i.position++}else la(i,"unknown escape sequence");u=d=i.position}else K4(y)?(T9(i,u,d,!0),cbe(i,O0(i,!1,a)),u=d=i.position):i.position===i.lineStart&&aQ(i)?la(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}la(i,"unexpected end of the stream within a double quoted scalar")}function vqt(i,a){var u=!0,d,p,v,b=i.tag,y,E=i.anchor,_,A,P,R,B,j=Object.create(null),W,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,B=!1,y=[];else if(oe===123)A=125,B=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(O0(i,!0,a),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=E,i.kind=B?"mapping":"sequence",i.result=y,!0;u?oe===44&&la(i,"expected the node content, but found ','"):la(i,"missed comma between flow collection entries"),ee=W=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),K2(_)&&(P=R=!0,i.position++,O0(i,!0,a))),d=i.line,p=i.lineStart,v=i.position,ND(i,a,rQ,!1,!0),ee=i.tag,W=i.result,O0(i,!0,a),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),O0(i,!0,a),ND(i,a,rQ,!1,!0),ie=i.result),B?OD(i,y,j,ee,W,ie,d,p,v):P?y.push(OD(i,null,j,ee,W,ie,d,p,v)):y.push(W),O0(i,!0,a),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}la(i,"unexpected end of the stream within a flow collection")}function wqt(i,a){var u,d,p=abe,v=!1,b=!1,y=a,E=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)abe===p?p=P===43?Y$e:aqt:la(i,"repeat of a chomping mode identifier");else if((A=fqt(P))>=0)A===0?la(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?la(i,"repeat of an indentation width identifier"):(y=a+A-1,b=!0);else break;if(RC(P)){do P=i.input.charCodeAt(++i.position);while(RC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!K4(P)&&P!==0)}for(;P!==0;){for(obe(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndenty&&(y=i.lineIndent),K4(P)){E++;continue}if(i.lineIndenta)&&E!==0)la(i,"bad indentation of a sequence entry");else if(i.lineIndenta)&&(ee&&(b=i.line,y=i.lineStart,E=i.position),ND(i,a,iQ,!0,p)&&(ee?j=i.result:W=i.result),ee||(OD(i,P,R,B,j,W,b,y,E),B=j=W=null),O0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>a)&&oe!==0)la(i,"bad indentation of a mapping entry");else if(i.lineIndenta?E=1:i.lineIndent===a?E=0:i.lineIndenta?E=1:i.lineIndent===a?E=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P"),i.result!==null&&j.kind!==i.kind&&la(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):la(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Eqt(i){var a=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(O0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!K2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&la(i,"directive name must not be less than one character in length");b!==0;){for(;RC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!K4(b));break}if(K4(b))break;for(u=i.position;b!==0&&!K2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&obe(i),k9.call(rze,d)?rze[d](i,d,p):sQ(i,'unknown document directive "'+d+'"')}if(O0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,O0(i,!0,-1)):v&&la(i,"directives end mark is expected"),ND(i,i.lineIndent-1,iQ,!1,!0),O0(i,!0,-1),i.checkLineBreaks&&cqt.test(i.input.slice(a,i.position))&&sQ(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&aQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,O0(i,!0,-1));return}if(i.position"u"&&(u=a,a=null);var d=aze(i,u);if(typeof a!="function")return d;for(var p=0,v=d.length;pi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(a,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),Nqt=i=>{const{text:a,metadata:u}=Iqt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:a}},Pqt=i=>{const a=So.detectInit(i)??{},u=So.detectDirective(i,"wrap");return Array.isArray(u)?a.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(a.wrap=!0),{text:ejt(i),directive:a}};function oze(i){const a=Oqt(i),u=Nqt(a),d=Pqt(u.text),p=cR(u.config,d.directive);return i=q$t(d.text),{code:i,title:u.title,config:p}}const Bqt=5e4,Fqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Rqt="sandbox",jqt="loose",$qt="http://www.w3.org/2000/svg",zqt="http://www.w3.org/1999/xlink",qqt="http://www.w3.org/1999/xhtml",Hqt="100%",Uqt="100%",Vqt="border:0;margin:0;",Gqt="margin:0",Kqt="allow-top-navigation-by-user-activation allow-popups",Wqt='The "iframe" tag is not supported by your browser.',Yqt=["foreignobject"],Xqt=["dominant-baseline"];function cze(i){const a=oze(i);return ZX(),Pjt(a.config??{}),a}async function Qqt(i,a){J2e(),i=cze(i).code;try{await ube(i)}catch(u){if(a!=null&&a.suppressErrors)return!1;throw u}return!0}const uze=(i,a,u=[])=>{const d=eje(`{ ${u.join(" !important; ")} !important; }`);return`.${i} ${a} ${d}`},Jqt=(i,a={})=>{var p;const u=new CSSStyleSheet;if(i.fontFamily!==void 0&&u.insertRule(`:root { --mermaid-font-family: ${i.fontFamily}}`,u.cssRules.length),i.altFontFamily!==void 0&&u.insertRule(`:root { --mermaid-alt-font-family: ${i.altFontFamily}}`,u.cssRules.length),!gR(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];gR(A.styles)||E.forEach(P=>{u.insertRule(uze(A.id,P,A.styles),u.cssRules.length)}),gR(A.textStyles)||u.insertRule(uze(A.id,"tspan",A.textStyles),u.cssRules.length)}}let d="";if(i.themeCSS!==void 0)if(typeof u.replaceSync=="function"){const v=new CSSStyleSheet;v.replaceSync(i.themeCSS),d=k$e(v)+` +`}else d+=`${i.themeCSS} +`;return d+k$e(u)},Zqt=(i,a)=>G2e(Ajt(`${i}{${a}}`),Djt([function(d,p,v,b){if(d.type==="rule"&&Array.isArray(d.props)){if(d.parent&&d.parent.type===$2e)return;d.props=d.props.map(y=>y.startsWith(i)?y:`${i} ${y}`)}else d.type.startsWith("@")&&([...[bjt,vjt,Vje,"@scope","@container","@starting-style"],$2e].includes(d.type)||(Xe.warn(`Removing unsupported at-rule ${d.type} from CSS`),d.type=j2e))},Mjt])),eHt=(i,a,u,d)=>{const p=Jqt(i,u),v=s$t(a,p,i.themeVariables);return Zqt(d,v)},tHt=(i="",a,u)=>{let d=i;return!u&&!a&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=uR(d),d=d.replace(/
/g,"
"),d},nHt=(i="",a)=>{var p,v;const u=(v=(p=a==null?void 0:a.viewBox)==null?void 0:p.baseVal)!=null&&v.height?a.viewBox.baseVal.height+"px":Uqt,d=btoa(''+i+"");return``},lze=(i,a,u,d,p)=>{const v=i.append("div");v.attr("id",u),d&&v.attr("style",d);const b=v.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$qt);return p&&b.attr("xmlns:xlink",p),b.append("g"),i};function hze(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rHt=(i,a,u,d)=>{var p,v,b;(p=i.getElementById(a))==null||p.remove(),(v=i.getElementById(u))==null||v.remove(),(b=i.getElementById(d))==null||b.remove()},iHt=async function(i,a,u){var U,Be,Pe,je,Ie,Se;J2e();const d=cze(a);a=d.code;const p=mh();Xe.debug(p),a.length>((p==null?void 0:p.maxTextSize)??Bqt)&&(a=Fqt);const v=`#${i}`,b="i"+i,y="#"+b,E="d"+i,_="#"+E;let A=Dr(document.body);const P=p.securityLevel===Rqt,R=p.securityLevel===jqt,B=p.fontFamily;if(u!==void 0){if(u&&(u.innerHTML=""),P){const Ce=hze(Dr(u),b);A=Dr(Ce.nodes()[0].contentDocument.body),A.node().style.margin="0"}else A=Dr(u);lze(A,i,E,`font-family: ${B}`,zqt)}else{if(rHt(document,i,E,b),P){const Ce=hze(Dr(document.body),b);A=Dr(Ce.nodes()[0].contentDocument.body),A.node().style.margin="0"}else A=Dr("body");lze(A,i,E)}let j,W;try{j=await ube(a,{title:d.title})}catch(Ce){j=new O$e("error"),W=Ce}const ee=A.select(_).node(),ie=j.type,oe=ee.firstChild,be=oe.firstChild,ge=(Be=(U=j.renderer).getClasses)==null?void 0:Be.call(U,a,j),ae=eHt(p,ie,ge,v),ne=document.createElement("style");ne.innerHTML=ae,oe.insertBefore(ne,be);try{await j.renderer.draw(a,i,Jje,j)}catch(Ce){throw f$t.draw(a,i,Jje),Ce}const se=A.select(`${_} svg`),de=(je=(Pe=j.db).getAccTitle)==null?void 0:je.call(Pe),X=(Se=(Ie=j.db).getAccDescription)==null?void 0:Se.call(Ie);aHt(ie,se,de,X),A.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qqt);let pe=A.select(_).node().innerHTML;if(Xe.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),pe=tHt(pe,P,h1(p.arrowMarkerAbsolute)),P){const Ce=A.select(_+" svg").node();pe=nHt(pe,Ce)}else R||(pe=pD.sanitize(pe,{ADD_TAGS:Yqt,ADD_ATTR:Xqt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(y$t(),W)throw W;const xe=Dr(P?y:_).node();return xe&&"remove"in xe&&xe.remove(),{svg:pe,bindFunctions:j.db.bindFunctions}};function sHt(i={}){var u;i!=null&&i.fontFamily&&!((u=i.themeVariables)!=null&&u.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),Ojt(i),i!=null&&i.theme&&i.theme in C7?i.themeVariables=C7[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=C7.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?Ijt(i):e$e();Spe(a.logLevel),J2e()}const ube=(i,a={})=>{const{code:u}=oze(i);return w$t(u,a)};function aHt(i,a,u,d){$$t(a,i),z$t(a,u,d,a.attr("id"))}const jC=Object.freeze({render:iHt,parse:Qqt,getDiagramFromText:ube,initialize:sHt,getConfig:mh,setConfig:t$e,getSiteConfig:e$e,updateSiteConfig:Njt,reset:()=>{ZX()},globalReset:()=>{ZX(_D)},defaultConfig:_D});Spe(mh().logLevel),ZX(mh());const oHt=async()=>{Xe.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(mD).map(async([u,{detector:d,loader:p}])=>{if(p)try{Q2e(u)}catch{try{const{diagram:b,id:y}=await p();nQ(y,b,d)}catch(b){throw Xe.error(`Failed to load external diagram with key ${u}. Removing from detectors.`),delete mD[u],b}}}))).filter(u=>u.status==="rejected");if(a.length>0){Xe.error(`Failed to load ${a.length} external diagrams`);for(const u of a)Xe.error(u);throw new Error(`Failed to load ${a.length} external diagrams`)}},cHt=(i,a,u)=>{Xe.warn(i),qje(i)?(u&&u(i.str,i.hash),a.push({...i,message:i.str,error:i})):(u&&u(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fze=async function(i={querySelector:".mermaid"}){try{await uHt(i)}catch(a){if(qje(a)&&Xe.error(a.str),bm.parseError&&bm.parseError(a),!i.suppressErrors)throw Xe.error("Use the suppressErrors option to suppress these errors"),a}},uHt=async function({postRenderCallback:i,querySelector:a,nodes:u}={querySelector:".mermaid"}){const d=jC.getConfig();Xe.debug(`${i?"":"No "}Callback function found`);let p;if(u)p=u;else if(a)p=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Xe.debug(`Found ${p.length} diagrams`),(d==null?void 0:d.startOnLoad)!==void 0&&(Xe.debug("Start On Load: "+(d==null?void 0:d.startOnLoad)),jC.updateSiteConfig({startOnLoad:d==null?void 0:d.startOnLoad}));const v=new So.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed);let b;const y=[];for(const E of Array.from(p)){Xe.info("Rendering diagram: "+E.id);/*! Check if previously processed */if(E.getAttribute("data-processed"))continue;E.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=E.innerHTML,b=ZM(So.entityDecode(b)).trim().replace(//gi,"
");const A=So.detectInit(b);A&&Xe.debug("Detected early reinit: ",A);try{const{svg:P,bindFunctions:R}=await bze(_,b,E);E.innerHTML=P,i&&await i(_),R&&R(E)}catch(P){cHt(P,y,bm.parseError)}}if(y.length>0)throw y[0]},dze=function(i){jC.initialize(i)},lHt=async function(i,a,u){Xe.warn("mermaid.init is deprecated. Please use run instead."),i&&dze(i);const d={postRenderCallback:u,querySelector:".mermaid"};typeof a=="string"?d.querySelector=a:a&&(a instanceof HTMLElement?d.nodes=[a]:d.nodes=a),await fze(d)},hHt=async(i,{lazyLoad:a=!0}={})=>{rje(...i),a===!1&&await oHt()},gze=function(){if(bm.startOnLoad){const{startOnLoad:i}=jC.getConfig();i&&bm.run().catch(a=>Xe.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",gze,!1)}const fHt=function(i){bm.parseError=i},oQ=[];let lbe=!1;const pze=async()=>{if(!lbe){for(lbe=!0;oQ.length>0;){const i=oQ.shift();if(i)try{await i()}catch(a){Xe.error("Error executing queue",a)}}lbe=!1}},dHt=async(i,a)=>new Promise((u,d)=>{const p=()=>new Promise((v,b)=>{jC.parse(i,a).then(y=>{v(y),u(y)},y=>{var E;Xe.error("Error parsing",y),(E=bm.parseError)==null||E.call(bm,y),b(y),d(y)})});oQ.push(p),pze().catch(d)}),bze=(i,a,u)=>new Promise((d,p)=>{const v=()=>new Promise((b,y)=>{jC.render(i,a,u).then(E=>{b(E),d(E)},E=>{var _;Xe.error("Error parsing",E),(_=bm.parseError)==null||_.call(bm,E),y(E),p(E)})});oQ.push(v),pze().catch(p)}),bm={startOnLoad:!0,mermaidAPI:jC,parse:dHt,render:bze,init:lHt,run:fze,registerExternalDiagrams:hHt,initialize:dze,parseError:void 0,contentLoaded:gze,setParseErrorHandler:fHt,detectType:IX};class ki extends Error{constructor(a,u){var d="KaTeX parse error: "+a,p,v,b=u&&u.loc;if(b&&b.start<=b.end){var y=b.lexer.input;p=b.start,v=b.end,p===y.length?d+=" at end of input: ":d+=" at position "+(p+1)+": ";var E=y.slice(p,v).replace(/[^]/g,"$&̲"),_;p>15?_="…"+y.slice(p-15,p):_=y.slice(0,p);var A;v+15i.replace(gHt,"-$1").toLowerCase(),pHt={"&":"&",">":">","<":"<",'"':""","'":"'"},bHt=/[&><"']/g,zg=i=>String(i).replace(bHt,a=>pHt[a]),cQ=i=>i.type==="ordgroup"||i.type==="color"?i.body.length===1?cQ(i.body[0]):i:i.type==="font"?cQ(i.body):i,mHt=new Set(["mathord","textord","atom"]),D7=i=>mHt.has(cQ(i).type),vHt=i=>{var a=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(i);return a?a[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(a[1])?null:a[1].toLowerCase():"_relative"},uQ={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:i=>"#"+i},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(i,a)=>(a.push(i),a)},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:i=>Math.max(0,i),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:i=>Math.max(0,i),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:i=>Math.max(0,i),cli:"-e, --max-expand ",cliProcessor:i=>i==="Infinity"?1/0:parseInt(i)},globalGroup:{type:"boolean",cli:!1}};function wHt(i){if("default"in i)return i.default;var a=i.type,u=Array.isArray(a)?a[0]:a;if(typeof u!="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class fbe{constructor(a){a===void 0&&(a={}),a=a||{};for(var u of Object.keys(uQ)){var d=uQ[u],p=a[u];this[u]=p!==void 0?d.processor?d.processor(p):p:wHt(d)}}reportNonstrict(a,u,d){var p=this.strict;if(typeof p=="function"&&(p=p(a,u,d)),!(!p||p==="ignore")){if(p===!0||p==="error")throw new ki("LaTeX-incompatible input and strict mode is set to 'error': "+(u+" ["+a+"]"),d);p==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+a+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+a+"]"))}}useStrictBehavior(a,u,d){var p=this.strict;if(typeof p=="function")try{p=p(a,u,d)}catch{p="error"}return!p||p==="ignore"?!1:p===!0||p==="error"?!0:p==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+a+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+a+"]")),!1)}isTrusted(a){if("url"in a&&a.url&&!a.protocol){var u=vHt(a.url);if(u==null)return!1;a.protocol=u}var d=typeof this.trust=="function"?this.trust(a):this.trust;return!!d}}class E9{constructor(a,u,d){this.id=a,this.size=u,this.cramped=d}sup(){return W4[yHt[this.id]]}sub(){return W4[xHt[this.id]]}fracNum(){return W4[kHt[this.id]]}fracDen(){return W4[THt[this.id]]}cramp(){return W4[EHt[this.id]]}text(){return W4[CHt[this.id]]}isTight(){return this.size>=2}}var dbe=0,lQ=1,PD=2,I7=3,bR=4,Uv=5,BD=6,Pp=7,W4=[new E9(dbe,0,!1),new E9(lQ,0,!0),new E9(PD,1,!1),new E9(I7,1,!0),new E9(bR,2,!1),new E9(Uv,2,!0),new E9(BD,3,!1),new E9(Pp,3,!0)],yHt=[bR,Uv,bR,Uv,BD,Pp,BD,Pp],xHt=[Uv,Uv,Uv,Uv,Pp,Pp,Pp,Pp],kHt=[PD,I7,bR,Uv,BD,Pp,BD,Pp],THt=[I7,I7,Uv,Uv,Pp,Pp,Pp,Pp],EHt=[lQ,lQ,I7,I7,Uv,Uv,Pp,Pp],CHt=[dbe,lQ,PD,I7,PD,I7,PD,I7],bo={DISPLAY:W4[dbe],TEXT:W4[PD],SCRIPT:W4[bR],SCRIPTSCRIPT:W4[BD]},gbe=[{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 SHt(i){for(var a=0;a=p[0]&&i<=p[1])return u.name}return null}var hQ=[];gbe.forEach(i=>i.blocks.forEach(a=>hQ.push(...a)));function mze(i){for(var a=0;a=hQ[a]&&i<=hQ[a+1])return!0;return!1}var f1=i=>i+" "+i,FD=80,_Ht=function(a,u){return"M95,"+(622+a+u)+` +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 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+a/2.075+" -"+a+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+a)+`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+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},AHt=function(a,u){return"M263,"+(601+a+u)+`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`+a/2.084+" -"+a+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+a)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +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+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},LHt=function(a,u){return"M983 "+(10+a+u)+` +l`+a/3.13+" -"+a+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+a)+` +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 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +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+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},MHt=function(a,u){return"M424,"+(2398+a+u)+` +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 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+a/4.223+" -"+a+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+a)+`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+a)+" "+u+` +h400000v`+(40+a)+"h-400000z"},DHt=function(a,u){return"M473,"+(2713+a+u)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+a/5.298+" -"+a+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+a)+`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+a)+" "+u+"h400000v"+(40+a)+"H1017.7z"},IHt=function(a){var u=a/2;return"M400000 "+a+" H0 L"+u+" 0 l65 45 L145 "+(a-80)+" H400000z"},OHt=function(a,u,d){var p=d-54-u-a;return"M702 "+(a+u)+"H400000"+(40+a)+` +H742v`+p+`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 `+u+"H400000v"+(40+a)+"H742z"},NHt=function(a,u,d){u=1e3*u;var p="";switch(a){case"sqrtMain":p=_Ht(u,FD);break;case"sqrtSize1":p=AHt(u,FD);break;case"sqrtSize2":p=LHt(u,FD);break;case"sqrtSize3":p=MHt(u,FD);break;case"sqrtSize4":p=DHt(u,FD);break;case"sqrtTall":p=OHt(u,FD,d)}return p},PHt=function(a,u){switch(a){case"⎜":return f1("M291 0 H417 V"+u+" H291z");case"∣":return f1("M145 0 H188 V"+u+" H145z");case"∥":return f1("M145 0 H188 V"+u+" H145z")+f1("M367 0 H410 V"+u+" H367z");case"⎟":return f1("M457 0 H583 V"+u+" H457z");case"⎢":return f1("M319 0 H403 V"+u+" H319z");case"⎥":return f1("M263 0 H347 V"+u+" H263z");case"⎪":return f1("M384 0 H504 V"+u+" H384z");case"⏐":return f1("M312 0 H355 V"+u+" H312z");case"‖":return f1("M257 0 H300 V"+u+" H257z")+f1("M478 0 H521 V"+u+" H478z");default:return""}},vze={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 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 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.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +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:f1("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:f1("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:f1("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:f1("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:f1("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 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.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-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +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:f1("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:f1("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:f1("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 + 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-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +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 +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +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`},BHt=function(a,u){switch(a){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z +M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z +M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z +M347 1759 V0 h-84 V1759 v`+u+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +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,11 +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,-`+(u+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 RD{constructor(a){this.children=a,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(a){return this.classes.includes(a)}toNode(){for(var a=document.createDocumentFragment(),u=0;uu.toText();return this.children.map(a).join("")}}var pbe={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},FHt={ex:!0,em:!0,mu:!0},wze=function(a){return typeof a!="string"&&(a=a.unit),a in pbe||a in FHt||a==="ex"},Uh=function(a,u){var d;if(a.unit in pbe)d=pbe[a.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(a.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,a.unit==="ex")d=p.fontMetrics().xHeight;else if(a.unit==="em")d=p.fontMetrics().quad;else throw new ki("Invalid unit: '"+a.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(a.number*d,u.maxSize)},Oi=function(a){return+a.toFixed(4)+"em"},C9=function(a){return a.filter(u=>u).join(" ")},yze=function(a,u,d){if(this.classes=a||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},xze=function(a){var u=document.createElement(a);u.className=C9(this.classes);for(var d of Object.keys(this.style))u.style[d]=this.style[d];for(var p of Object.keys(this.attributes))u.setAttribute(p,this.attributes[p]);for(var v=0;v/=\x00-\x1f]/,kze=function(a){var u="<"+a;this.classes.length&&(u+=' class="'+zg(C9(this.classes))+'"');var d="";for(var p of Object.keys(this.style))d+=hbe(p)+":"+this.style[p]+";";d&&(u+=' style="'+zg(d)+'"');for(var v of Object.keys(this.attributes)){if(RHt.test(v))throw new ki("Invalid attribute name '"+v+"'");u+=" "+v+'="'+zg(this.attributes[v])+'"'}u+=">";for(var b=0;b",u};class jD{constructor(a,u,d,p){yze.call(this,a,d,p),this.children=u||[]}setAttribute(a,u){this.attributes[a]=u}hasClass(a){return this.classes.includes(a)}toNode(){return xze.call(this,"span")}toMarkup(){return kze.call(this,"span")}}class fQ{constructor(a,u,d,p){yze.call(this,u,p),this.children=d||[],this.setAttribute("href",a)}setAttribute(a,u){this.attributes[a]=u}hasClass(a){return this.classes.includes(a)}toNode(){return xze.call(this,"a")}toMarkup(){return kze.call(this,"a")}}class jHt{constructor(a,u,d){this.alt=u,this.src=a,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=d}hasClass(a){return this.classes.includes(a)}toNode(){var a=document.createElement("img");a.src=this.src,a.alt=this.alt,a.className="mord";for(var u of Object.keys(this.style))a.style[u]=this.style[u];return a}toMarkup(){var a=''+zg(this.alt)+'0&&(u=document.createElement("span"),u.style.marginRight=Oi(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=C9(this.classes));for(var d of Object.keys(this.style))u=u||document.createElement("span"),u.style[d]=this.style[d];return u?(u.appendChild(a),u):a}toMarkup(){var a=!1,u="0&&(d+="margin-right:"+Oi(this.italic)+";");for(var p of Object.keys(this.style))d+=hbe(p)+":"+this.style[p]+";";d&&(a=!0,u+=' style="'+zg(d)+'"');var v=zg(this.text);return a?(u+=">",u+=v,u+="",u):v}}class O7{constructor(a,u){this.children=a||[],this.attributes=u||{}}toNode(){var a="http://www.w3.org/2000/svg",u=document.createElementNS(a,"svg");for(var d of Object.keys(this.attributes))u.setAttribute(d,this.attributes[d]);for(var p=0;p':''}}class bbe{constructor(a){this.attributes=a||{}}toNode(){var a="http://www.w3.org/2000/svg",u=document.createElementNS(a,"line");for(var d of Object.keys(this.attributes))u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var a=" but got "+String(i)+".")}var HHt=i=>i instanceof jD||i instanceof fQ||i instanceof RD,Y4={"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]}},dQ={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]},Tze={Å:"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 Eze(i,a){Y4[i]=a}function mbe(i,a,u){if(!Y4[a])throw new Error("Font metrics not found for font: "+a+".");var d=i.charCodeAt(0),p=Y4[a][d];if(!p&&i[0]in Tze&&(d=Tze[i[0]].charCodeAt(0),p=Y4[a][d]),!p&&u==="text"&&mze(d)&&(p=Y4[a][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var vbe={};function UHt(i){var a;if(i>=5?a=0:i>=3?a=1:a=2,!vbe[a]){var u=vbe[a]={cssEmPerMu:dQ.quad[a]/18};for(var d in dQ)dQ.hasOwnProperty(d)&&(u[d]=dQ[d][a])}return vbe[a]}var VHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},GHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},vh={math:{},text:{}};function we(i,a,u,d,p,v){vh[i][p]={font:a,group:u,replace:d},v&&d&&(vh[i][d]=vh[i][p])}var Ae="math",ti="text",He="main",jt="ams",wh="accent-token",ls="bin",Bp="close",$D="inner",Sa="mathord",N0="op-token",vm="open",mR="punct",Ht="rel",N7="spacing",bn="textord";we(Ae,He,Ht,"≡","\\equiv",!0),we(Ae,He,Ht,"≺","\\prec",!0),we(Ae,He,Ht,"≻","\\succ",!0),we(Ae,He,Ht,"∼","\\sim",!0),we(Ae,He,Ht,"⊥","\\perp"),we(Ae,He,Ht,"⪯","\\preceq",!0),we(Ae,He,Ht,"⪰","\\succeq",!0),we(Ae,He,Ht,"≃","\\simeq",!0),we(Ae,He,Ht,"∣","\\mid",!0),we(Ae,He,Ht,"≪","\\ll",!0),we(Ae,He,Ht,"≫","\\gg",!0),we(Ae,He,Ht,"≍","\\asymp",!0),we(Ae,He,Ht,"∥","\\parallel"),we(Ae,He,Ht,"⋈","\\bowtie",!0),we(Ae,He,Ht,"⌣","\\smile",!0),we(Ae,He,Ht,"⊑","\\sqsubseteq",!0),we(Ae,He,Ht,"⊒","\\sqsupseteq",!0),we(Ae,He,Ht,"≐","\\doteq",!0),we(Ae,He,Ht,"⌢","\\frown",!0),we(Ae,He,Ht,"∋","\\ni",!0),we(Ae,He,Ht,"∝","\\propto",!0),we(Ae,He,Ht,"⊢","\\vdash",!0),we(Ae,He,Ht,"⊣","\\dashv",!0),we(Ae,He,Ht,"∋","\\owns"),we(Ae,He,mR,".","\\ldotp"),we(Ae,He,mR,"⋅","\\cdotp"),we(Ae,He,mR,"⋅","·"),we(ti,He,bn,"⋅","·"),we(Ae,He,bn,"#","\\#"),we(ti,He,bn,"#","\\#"),we(Ae,He,bn,"&","\\&"),we(ti,He,bn,"&","\\&"),we(Ae,He,bn,"ℵ","\\aleph",!0),we(Ae,He,bn,"∀","\\forall",!0),we(Ae,He,bn,"ℏ","\\hbar",!0),we(Ae,He,bn,"∃","\\exists",!0),we(Ae,He,bn,"∇","\\nabla",!0),we(Ae,He,bn,"♭","\\flat",!0),we(Ae,He,bn,"ℓ","\\ell",!0),we(Ae,He,bn,"♮","\\natural",!0),we(Ae,He,bn,"♣","\\clubsuit",!0),we(Ae,He,bn,"℘","\\wp",!0),we(Ae,He,bn,"♯","\\sharp",!0),we(Ae,He,bn,"♢","\\diamondsuit",!0),we(Ae,He,bn,"ℜ","\\Re",!0),we(Ae,He,bn,"♡","\\heartsuit",!0),we(Ae,He,bn,"ℑ","\\Im",!0),we(Ae,He,bn,"♠","\\spadesuit",!0),we(Ae,He,bn,"§","\\S",!0),we(ti,He,bn,"§","\\S"),we(Ae,He,bn,"¶","\\P",!0),we(ti,He,bn,"¶","\\P"),we(Ae,He,bn,"†","\\dag"),we(ti,He,bn,"†","\\dag"),we(ti,He,bn,"†","\\textdagger"),we(Ae,He,bn,"‡","\\ddag"),we(ti,He,bn,"‡","\\ddag"),we(ti,He,bn,"‡","\\textdaggerdbl"),we(Ae,He,Bp,"⎱","\\rmoustache",!0),we(Ae,He,vm,"⎰","\\lmoustache",!0),we(Ae,He,Bp,"⟯","\\rgroup",!0),we(Ae,He,vm,"⟮","\\lgroup",!0),we(Ae,He,ls,"∓","\\mp",!0),we(Ae,He,ls,"⊖","\\ominus",!0),we(Ae,He,ls,"⊎","\\uplus",!0),we(Ae,He,ls,"⊓","\\sqcap",!0),we(Ae,He,ls,"∗","\\ast"),we(Ae,He,ls,"⊔","\\sqcup",!0),we(Ae,He,ls,"◯","\\bigcirc",!0),we(Ae,He,ls,"∙","\\bullet",!0),we(Ae,He,ls,"‡","\\ddagger"),we(Ae,He,ls,"≀","\\wr",!0),we(Ae,He,ls,"⨿","\\amalg"),we(Ae,He,ls,"&","\\And"),we(Ae,He,Ht,"⟵","\\longleftarrow",!0),we(Ae,He,Ht,"⇐","\\Leftarrow",!0),we(Ae,He,Ht,"⟸","\\Longleftarrow",!0),we(Ae,He,Ht,"⟶","\\longrightarrow",!0),we(Ae,He,Ht,"⇒","\\Rightarrow",!0),we(Ae,He,Ht,"⟹","\\Longrightarrow",!0),we(Ae,He,Ht,"↔","\\leftrightarrow",!0),we(Ae,He,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,He,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,He,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,He,Ht,"↦","\\mapsto",!0),we(Ae,He,Ht,"⟼","\\longmapsto",!0),we(Ae,He,Ht,"↗","\\nearrow",!0),we(Ae,He,Ht,"↩","\\hookleftarrow",!0),we(Ae,He,Ht,"↪","\\hookrightarrow",!0),we(Ae,He,Ht,"↘","\\searrow",!0),we(Ae,He,Ht,"↼","\\leftharpoonup",!0),we(Ae,He,Ht,"⇀","\\rightharpoonup",!0),we(Ae,He,Ht,"↙","\\swarrow",!0),we(Ae,He,Ht,"↽","\\leftharpoondown",!0),we(Ae,He,Ht,"⇁","\\rightharpoondown",!0),we(Ae,He,Ht,"↖","\\nwarrow",!0),we(Ae,He,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,jt,Ht,"≮","\\nless",!0),we(Ae,jt,Ht,"","\\@nleqslant"),we(Ae,jt,Ht,"","\\@nleqq"),we(Ae,jt,Ht,"⪇","\\lneq",!0),we(Ae,jt,Ht,"≨","\\lneqq",!0),we(Ae,jt,Ht,"","\\@lvertneqq"),we(Ae,jt,Ht,"⋦","\\lnsim",!0),we(Ae,jt,Ht,"⪉","\\lnapprox",!0),we(Ae,jt,Ht,"⊀","\\nprec",!0),we(Ae,jt,Ht,"⋠","\\npreceq",!0),we(Ae,jt,Ht,"⋨","\\precnsim",!0),we(Ae,jt,Ht,"⪹","\\precnapprox",!0),we(Ae,jt,Ht,"≁","\\nsim",!0),we(Ae,jt,Ht,"","\\@nshortmid"),we(Ae,jt,Ht,"∤","\\nmid",!0),we(Ae,jt,Ht,"⊬","\\nvdash",!0),we(Ae,jt,Ht,"⊭","\\nvDash",!0),we(Ae,jt,Ht,"⋪","\\ntriangleleft"),we(Ae,jt,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,jt,Ht,"⊊","\\subsetneq",!0),we(Ae,jt,Ht,"","\\@varsubsetneq"),we(Ae,jt,Ht,"⫋","\\subsetneqq",!0),we(Ae,jt,Ht,"","\\@varsubsetneqq"),we(Ae,jt,Ht,"≯","\\ngtr",!0),we(Ae,jt,Ht,"","\\@ngeqslant"),we(Ae,jt,Ht,"","\\@ngeqq"),we(Ae,jt,Ht,"⪈","\\gneq",!0),we(Ae,jt,Ht,"≩","\\gneqq",!0),we(Ae,jt,Ht,"","\\@gvertneqq"),we(Ae,jt,Ht,"⋧","\\gnsim",!0),we(Ae,jt,Ht,"⪊","\\gnapprox",!0),we(Ae,jt,Ht,"⊁","\\nsucc",!0),we(Ae,jt,Ht,"⋡","\\nsucceq",!0),we(Ae,jt,Ht,"⋩","\\succnsim",!0),we(Ae,jt,Ht,"⪺","\\succnapprox",!0),we(Ae,jt,Ht,"≆","\\ncong",!0),we(Ae,jt,Ht,"","\\@nshortparallel"),we(Ae,jt,Ht,"∦","\\nparallel",!0),we(Ae,jt,Ht,"⊯","\\nVDash",!0),we(Ae,jt,Ht,"⋫","\\ntriangleright"),we(Ae,jt,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,jt,Ht,"","\\@nsupseteqq"),we(Ae,jt,Ht,"⊋","\\supsetneq",!0),we(Ae,jt,Ht,"","\\@varsupsetneq"),we(Ae,jt,Ht,"⫌","\\supsetneqq",!0),we(Ae,jt,Ht,"","\\@varsupsetneqq"),we(Ae,jt,Ht,"⊮","\\nVdash",!0),we(Ae,jt,Ht,"⪵","\\precneqq",!0),we(Ae,jt,Ht,"⪶","\\succneqq",!0),we(Ae,jt,Ht,"","\\@nsubseteqq"),we(Ae,jt,ls,"⊴","\\unlhd"),we(Ae,jt,ls,"⊵","\\unrhd"),we(Ae,jt,Ht,"↚","\\nleftarrow",!0),we(Ae,jt,Ht,"↛","\\nrightarrow",!0),we(Ae,jt,Ht,"⇍","\\nLeftarrow",!0),we(Ae,jt,Ht,"⇏","\\nRightarrow",!0),we(Ae,jt,Ht,"↮","\\nleftrightarrow",!0),we(Ae,jt,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,jt,Ht,"△","\\vartriangle"),we(Ae,jt,bn,"ℏ","\\hslash"),we(Ae,jt,bn,"▽","\\triangledown"),we(Ae,jt,bn,"◊","\\lozenge"),we(Ae,jt,bn,"Ⓢ","\\circledS"),we(Ae,jt,bn,"®","\\circledR"),we(ti,jt,bn,"®","\\circledR"),we(Ae,jt,bn,"∡","\\measuredangle",!0),we(Ae,jt,bn,"∄","\\nexists"),we(Ae,jt,bn,"℧","\\mho"),we(Ae,jt,bn,"Ⅎ","\\Finv",!0),we(Ae,jt,bn,"⅁","\\Game",!0),we(Ae,jt,bn,"‵","\\backprime"),we(Ae,jt,bn,"▲","\\blacktriangle"),we(Ae,jt,bn,"▼","\\blacktriangledown"),we(Ae,jt,bn,"■","\\blacksquare"),we(Ae,jt,bn,"⧫","\\blacklozenge"),we(Ae,jt,bn,"★","\\bigstar"),we(Ae,jt,bn,"∢","\\sphericalangle",!0),we(Ae,jt,bn,"∁","\\complement",!0),we(Ae,jt,bn,"ð","\\eth",!0),we(ti,He,bn,"ð","ð"),we(Ae,jt,bn,"╱","\\diagup"),we(Ae,jt,bn,"╲","\\diagdown"),we(Ae,jt,bn,"□","\\square"),we(Ae,jt,bn,"□","\\Box"),we(Ae,jt,bn,"◊","\\Diamond"),we(Ae,jt,bn,"¥","\\yen",!0),we(ti,jt,bn,"¥","\\yen",!0),we(Ae,jt,bn,"✓","\\checkmark",!0),we(ti,jt,bn,"✓","\\checkmark"),we(Ae,jt,bn,"ℶ","\\beth",!0),we(Ae,jt,bn,"ℸ","\\daleth",!0),we(Ae,jt,bn,"ℷ","\\gimel",!0),we(Ae,jt,bn,"ϝ","\\digamma",!0),we(Ae,jt,bn,"ϰ","\\varkappa"),we(Ae,jt,vm,"┌","\\@ulcorner",!0),we(Ae,jt,Bp,"┐","\\@urcorner",!0),we(Ae,jt,vm,"└","\\@llcorner",!0),we(Ae,jt,Bp,"┘","\\@lrcorner",!0),we(Ae,jt,Ht,"≦","\\leqq",!0),we(Ae,jt,Ht,"⩽","\\leqslant",!0),we(Ae,jt,Ht,"⪕","\\eqslantless",!0),we(Ae,jt,Ht,"≲","\\lesssim",!0),we(Ae,jt,Ht,"⪅","\\lessapprox",!0),we(Ae,jt,Ht,"≊","\\approxeq",!0),we(Ae,jt,ls,"⋖","\\lessdot"),we(Ae,jt,Ht,"⋘","\\lll",!0),we(Ae,jt,Ht,"≶","\\lessgtr",!0),we(Ae,jt,Ht,"⋚","\\lesseqgtr",!0),we(Ae,jt,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,jt,Ht,"≑","\\doteqdot"),we(Ae,jt,Ht,"≓","\\risingdotseq",!0),we(Ae,jt,Ht,"≒","\\fallingdotseq",!0),we(Ae,jt,Ht,"∽","\\backsim",!0),we(Ae,jt,Ht,"⋍","\\backsimeq",!0),we(Ae,jt,Ht,"⫅","\\subseteqq",!0),we(Ae,jt,Ht,"⋐","\\Subset",!0),we(Ae,jt,Ht,"⊏","\\sqsubset",!0),we(Ae,jt,Ht,"≼","\\preccurlyeq",!0),we(Ae,jt,Ht,"⋞","\\curlyeqprec",!0),we(Ae,jt,Ht,"≾","\\precsim",!0),we(Ae,jt,Ht,"⪷","\\precapprox",!0),we(Ae,jt,Ht,"⊲","\\vartriangleleft"),we(Ae,jt,Ht,"⊴","\\trianglelefteq"),we(Ae,jt,Ht,"⊨","\\vDash",!0),we(Ae,jt,Ht,"⊪","\\Vvdash",!0),we(Ae,jt,Ht,"⌣","\\smallsmile"),we(Ae,jt,Ht,"⌢","\\smallfrown"),we(Ae,jt,Ht,"≏","\\bumpeq",!0),we(Ae,jt,Ht,"≎","\\Bumpeq",!0),we(Ae,jt,Ht,"≧","\\geqq",!0),we(Ae,jt,Ht,"⩾","\\geqslant",!0),we(Ae,jt,Ht,"⪖","\\eqslantgtr",!0),we(Ae,jt,Ht,"≳","\\gtrsim",!0),we(Ae,jt,Ht,"⪆","\\gtrapprox",!0),we(Ae,jt,ls,"⋗","\\gtrdot"),we(Ae,jt,Ht,"⋙","\\ggg",!0),we(Ae,jt,Ht,"≷","\\gtrless",!0),we(Ae,jt,Ht,"⋛","\\gtreqless",!0),we(Ae,jt,Ht,"⪌","\\gtreqqless",!0),we(Ae,jt,Ht,"≖","\\eqcirc",!0),we(Ae,jt,Ht,"≗","\\circeq",!0),we(Ae,jt,Ht,"≜","\\triangleq",!0),we(Ae,jt,Ht,"∼","\\thicksim"),we(Ae,jt,Ht,"≈","\\thickapprox"),we(Ae,jt,Ht,"⫆","\\supseteqq",!0),we(Ae,jt,Ht,"⋑","\\Supset",!0),we(Ae,jt,Ht,"⊐","\\sqsupset",!0),we(Ae,jt,Ht,"≽","\\succcurlyeq",!0),we(Ae,jt,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,jt,Ht,"≿","\\succsim",!0),we(Ae,jt,Ht,"⪸","\\succapprox",!0),we(Ae,jt,Ht,"⊳","\\vartriangleright"),we(Ae,jt,Ht,"⊵","\\trianglerighteq"),we(Ae,jt,Ht,"⊩","\\Vdash",!0),we(Ae,jt,Ht,"∣","\\shortmid"),we(Ae,jt,Ht,"∥","\\shortparallel"),we(Ae,jt,Ht,"≬","\\between",!0),we(Ae,jt,Ht,"⋔","\\pitchfork",!0),we(Ae,jt,Ht,"∝","\\varpropto"),we(Ae,jt,Ht,"◀","\\blacktriangleleft"),we(Ae,jt,Ht,"∴","\\therefore",!0),we(Ae,jt,Ht,"∍","\\backepsilon"),we(Ae,jt,Ht,"▶","\\blacktriangleright"),we(Ae,jt,Ht,"∵","\\because",!0),we(Ae,jt,Ht,"⋘","\\llless"),we(Ae,jt,Ht,"⋙","\\gggtr"),we(Ae,jt,ls,"⊲","\\lhd"),we(Ae,jt,ls,"⊳","\\rhd"),we(Ae,jt,Ht,"≂","\\eqsim",!0),we(Ae,He,Ht,"⋈","\\Join"),we(Ae,jt,Ht,"≑","\\Doteq",!0),we(Ae,jt,ls,"∔","\\dotplus",!0),we(Ae,jt,ls,"∖","\\smallsetminus"),we(Ae,jt,ls,"⋒","\\Cap",!0),we(Ae,jt,ls,"⋓","\\Cup",!0),we(Ae,jt,ls,"⩞","\\doublebarwedge",!0),we(Ae,jt,ls,"⊟","\\boxminus",!0),we(Ae,jt,ls,"⊞","\\boxplus",!0),we(Ae,jt,ls,"⋇","\\divideontimes",!0),we(Ae,jt,ls,"⋉","\\ltimes",!0),we(Ae,jt,ls,"⋊","\\rtimes",!0),we(Ae,jt,ls,"⋋","\\leftthreetimes",!0),we(Ae,jt,ls,"⋌","\\rightthreetimes",!0),we(Ae,jt,ls,"⋏","\\curlywedge",!0),we(Ae,jt,ls,"⋎","\\curlyvee",!0),we(Ae,jt,ls,"⊝","\\circleddash",!0),we(Ae,jt,ls,"⊛","\\circledast",!0),we(Ae,jt,ls,"⋅","\\centerdot"),we(Ae,jt,ls,"⊺","\\intercal",!0),we(Ae,jt,ls,"⋒","\\doublecap"),we(Ae,jt,ls,"⋓","\\doublecup"),we(Ae,jt,ls,"⊠","\\boxtimes",!0),we(Ae,jt,Ht,"⇢","\\dashrightarrow",!0),we(Ae,jt,Ht,"⇠","\\dashleftarrow",!0),we(Ae,jt,Ht,"⇇","\\leftleftarrows",!0),we(Ae,jt,Ht,"⇆","\\leftrightarrows",!0),we(Ae,jt,Ht,"⇚","\\Lleftarrow",!0),we(Ae,jt,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,jt,Ht,"↢","\\leftarrowtail",!0),we(Ae,jt,Ht,"↫","\\looparrowleft",!0),we(Ae,jt,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,jt,Ht,"↶","\\curvearrowleft",!0),we(Ae,jt,Ht,"↺","\\circlearrowleft",!0),we(Ae,jt,Ht,"↰","\\Lsh",!0),we(Ae,jt,Ht,"⇈","\\upuparrows",!0),we(Ae,jt,Ht,"↿","\\upharpoonleft",!0),we(Ae,jt,Ht,"⇃","\\downharpoonleft",!0),we(Ae,He,Ht,"⊶","\\origof",!0),we(Ae,He,Ht,"⊷","\\imageof",!0),we(Ae,jt,Ht,"⊸","\\multimap",!0),we(Ae,jt,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,jt,Ht,"⇉","\\rightrightarrows",!0),we(Ae,jt,Ht,"⇄","\\rightleftarrows",!0),we(Ae,jt,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,jt,Ht,"↣","\\rightarrowtail",!0),we(Ae,jt,Ht,"↬","\\looparrowright",!0),we(Ae,jt,Ht,"↷","\\curvearrowright",!0),we(Ae,jt,Ht,"↻","\\circlearrowright",!0),we(Ae,jt,Ht,"↱","\\Rsh",!0),we(Ae,jt,Ht,"⇊","\\downdownarrows",!0),we(Ae,jt,Ht,"↾","\\upharpoonright",!0),we(Ae,jt,Ht,"⇂","\\downharpoonright",!0),we(Ae,jt,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,jt,Ht,"⇝","\\leadsto"),we(Ae,jt,Ht,"⇛","\\Rrightarrow",!0),we(Ae,jt,Ht,"↾","\\restriction"),we(Ae,He,bn,"‘","`"),we(Ae,He,bn,"$","\\$"),we(ti,He,bn,"$","\\$"),we(ti,He,bn,"$","\\textdollar"),we(Ae,He,bn,"%","\\%"),we(ti,He,bn,"%","\\%"),we(Ae,He,bn,"_","\\_"),we(ti,He,bn,"_","\\_"),we(ti,He,bn,"_","\\textunderscore"),we(Ae,He,bn,"∠","\\angle",!0),we(Ae,He,bn,"∞","\\infty",!0),we(Ae,He,bn,"′","\\prime"),we(Ae,He,bn,"△","\\triangle"),we(Ae,He,bn,"Γ","\\Gamma",!0),we(Ae,He,bn,"Δ","\\Delta",!0),we(Ae,He,bn,"Θ","\\Theta",!0),we(Ae,He,bn,"Λ","\\Lambda",!0),we(Ae,He,bn,"Ξ","\\Xi",!0),we(Ae,He,bn,"Π","\\Pi",!0),we(Ae,He,bn,"Σ","\\Sigma",!0),we(Ae,He,bn,"Υ","\\Upsilon",!0),we(Ae,He,bn,"Φ","\\Phi",!0),we(Ae,He,bn,"Ψ","\\Psi",!0),we(Ae,He,bn,"Ω","\\Omega",!0),we(Ae,He,bn,"A","Α"),we(Ae,He,bn,"B","Β"),we(Ae,He,bn,"E","Ε"),we(Ae,He,bn,"Z","Ζ"),we(Ae,He,bn,"H","Η"),we(Ae,He,bn,"I","Ι"),we(Ae,He,bn,"K","Κ"),we(Ae,He,bn,"M","Μ"),we(Ae,He,bn,"N","Ν"),we(Ae,He,bn,"O","Ο"),we(Ae,He,bn,"P","Ρ"),we(Ae,He,bn,"T","Τ"),we(Ae,He,bn,"X","Χ"),we(Ae,He,bn,"¬","\\neg",!0),we(Ae,He,bn,"¬","\\lnot"),we(Ae,He,bn,"⊤","\\top"),we(Ae,He,bn,"⊥","\\bot"),we(Ae,He,bn,"∅","\\emptyset"),we(Ae,jt,bn,"∅","\\varnothing"),we(Ae,He,Sa,"α","\\alpha",!0),we(Ae,He,Sa,"β","\\beta",!0),we(Ae,He,Sa,"γ","\\gamma",!0),we(Ae,He,Sa,"δ","\\delta",!0),we(Ae,He,Sa,"ϵ","\\epsilon",!0),we(Ae,He,Sa,"ζ","\\zeta",!0),we(Ae,He,Sa,"η","\\eta",!0),we(Ae,He,Sa,"θ","\\theta",!0),we(Ae,He,Sa,"ι","\\iota",!0),we(Ae,He,Sa,"κ","\\kappa",!0),we(Ae,He,Sa,"λ","\\lambda",!0),we(Ae,He,Sa,"μ","\\mu",!0),we(Ae,He,Sa,"ν","\\nu",!0),we(Ae,He,Sa,"ξ","\\xi",!0),we(Ae,He,Sa,"ο","\\omicron",!0),we(Ae,He,Sa,"π","\\pi",!0),we(Ae,He,Sa,"ρ","\\rho",!0),we(Ae,He,Sa,"σ","\\sigma",!0),we(Ae,He,Sa,"τ","\\tau",!0),we(Ae,He,Sa,"υ","\\upsilon",!0),we(Ae,He,Sa,"ϕ","\\phi",!0),we(Ae,He,Sa,"χ","\\chi",!0),we(Ae,He,Sa,"ψ","\\psi",!0),we(Ae,He,Sa,"ω","\\omega",!0),we(Ae,He,Sa,"ε","\\varepsilon",!0),we(Ae,He,Sa,"ϑ","\\vartheta",!0),we(Ae,He,Sa,"ϖ","\\varpi",!0),we(Ae,He,Sa,"ϱ","\\varrho",!0),we(Ae,He,Sa,"ς","\\varsigma",!0),we(Ae,He,Sa,"φ","\\varphi",!0),we(Ae,He,ls,"∗","*",!0),we(Ae,He,ls,"+","+"),we(Ae,He,ls,"−","-",!0),we(Ae,He,ls,"⋅","\\cdot",!0),we(Ae,He,ls,"∘","\\circ",!0),we(Ae,He,ls,"÷","\\div",!0),we(Ae,He,ls,"±","\\pm",!0),we(Ae,He,ls,"×","\\times",!0),we(Ae,He,ls,"∩","\\cap",!0),we(Ae,He,ls,"∪","\\cup",!0),we(Ae,He,ls,"∖","\\setminus",!0),we(Ae,He,ls,"∧","\\land"),we(Ae,He,ls,"∨","\\lor"),we(Ae,He,ls,"∧","\\wedge",!0),we(Ae,He,ls,"∨","\\vee",!0),we(Ae,He,bn,"√","\\surd"),we(Ae,He,vm,"⟨","\\langle",!0),we(Ae,He,vm,"∣","\\lvert"),we(Ae,He,vm,"∥","\\lVert"),we(Ae,He,Bp,"?","?"),we(Ae,He,Bp,"!","!"),we(Ae,He,Bp,"⟩","\\rangle",!0),we(Ae,He,Bp,"∣","\\rvert"),we(Ae,He,Bp,"∥","\\rVert"),we(Ae,He,Ht,"=","="),we(Ae,He,Ht,":",":"),we(Ae,He,Ht,"≈","\\approx",!0),we(Ae,He,Ht,"≅","\\cong",!0),we(Ae,He,Ht,"≥","\\ge"),we(Ae,He,Ht,"≥","\\geq",!0),we(Ae,He,Ht,"←","\\gets"),we(Ae,He,Ht,">","\\gt",!0),we(Ae,He,Ht,"∈","\\in",!0),we(Ae,He,Ht,"","\\@not"),we(Ae,He,Ht,"⊂","\\subset",!0),we(Ae,He,Ht,"⊃","\\supset",!0),we(Ae,He,Ht,"⊆","\\subseteq",!0),we(Ae,He,Ht,"⊇","\\supseteq",!0),we(Ae,jt,Ht,"⊈","\\nsubseteq",!0),we(Ae,jt,Ht,"⊉","\\nsupseteq",!0),we(Ae,He,Ht,"⊨","\\models"),we(Ae,He,Ht,"←","\\leftarrow",!0),we(Ae,He,Ht,"≤","\\le"),we(Ae,He,Ht,"≤","\\leq",!0),we(Ae,He,Ht,"<","\\lt",!0),we(Ae,He,Ht,"→","\\rightarrow",!0),we(Ae,He,Ht,"→","\\to"),we(Ae,jt,Ht,"≱","\\ngeq",!0),we(Ae,jt,Ht,"≰","\\nleq",!0),we(Ae,He,N7," ","\\ "),we(Ae,He,N7," ","\\space"),we(Ae,He,N7," ","\\nobreakspace"),we(ti,He,N7," ","\\ "),we(ti,He,N7," "," "),we(ti,He,N7," ","\\space"),we(ti,He,N7," ","\\nobreakspace"),we(Ae,He,N7,null,"\\nobreak"),we(Ae,He,N7,null,"\\allowbreak"),we(Ae,He,mR,",",","),we(Ae,He,mR,";",";"),we(Ae,jt,ls,"⊼","\\barwedge",!0),we(Ae,jt,ls,"⊻","\\veebar",!0),we(Ae,He,ls,"⊙","\\odot",!0),we(Ae,He,ls,"⊕","\\oplus",!0),we(Ae,He,ls,"⊗","\\otimes",!0),we(Ae,He,bn,"∂","\\partial",!0),we(Ae,He,ls,"⊘","\\oslash",!0),we(Ae,jt,ls,"⊚","\\circledcirc",!0),we(Ae,jt,ls,"⊡","\\boxdot",!0),we(Ae,He,ls,"△","\\bigtriangleup"),we(Ae,He,ls,"▽","\\bigtriangledown"),we(Ae,He,ls,"†","\\dagger"),we(Ae,He,ls,"⋄","\\diamond"),we(Ae,He,ls,"⋆","\\star"),we(Ae,He,ls,"◃","\\triangleleft"),we(Ae,He,ls,"▹","\\triangleright"),we(Ae,He,vm,"{","\\{"),we(ti,He,bn,"{","\\{"),we(ti,He,bn,"{","\\textbraceleft"),we(Ae,He,Bp,"}","\\}"),we(ti,He,bn,"}","\\}"),we(ti,He,bn,"}","\\textbraceright"),we(Ae,He,vm,"{","\\lbrace"),we(Ae,He,Bp,"}","\\rbrace"),we(Ae,He,vm,"[","\\lbrack",!0),we(ti,He,bn,"[","\\lbrack",!0),we(Ae,He,Bp,"]","\\rbrack",!0),we(ti,He,bn,"]","\\rbrack",!0),we(Ae,He,vm,"(","\\lparen",!0),we(Ae,He,Bp,")","\\rparen",!0),we(ti,He,bn,"<","\\textless",!0),we(ti,He,bn,">","\\textgreater",!0),we(Ae,He,vm,"⌊","\\lfloor",!0),we(Ae,He,Bp,"⌋","\\rfloor",!0),we(Ae,He,vm,"⌈","\\lceil",!0),we(Ae,He,Bp,"⌉","\\rceil",!0),we(Ae,He,bn,"\\","\\backslash"),we(Ae,He,bn,"∣","|"),we(Ae,He,bn,"∣","\\vert"),we(ti,He,bn,"|","\\textbar",!0),we(Ae,He,bn,"∥","\\|"),we(Ae,He,bn,"∥","\\Vert"),we(ti,He,bn,"∥","\\textbardbl"),we(ti,He,bn,"~","\\textasciitilde"),we(ti,He,bn,"\\","\\textbackslash"),we(ti,He,bn,"^","\\textasciicircum"),we(Ae,He,Ht,"↑","\\uparrow",!0),we(Ae,He,Ht,"⇑","\\Uparrow",!0),we(Ae,He,Ht,"↓","\\downarrow",!0),we(Ae,He,Ht,"⇓","\\Downarrow",!0),we(Ae,He,Ht,"↕","\\updownarrow",!0),we(Ae,He,Ht,"⇕","\\Updownarrow",!0),we(Ae,He,N0,"∐","\\coprod"),we(Ae,He,N0,"⋁","\\bigvee"),we(Ae,He,N0,"⋀","\\bigwedge"),we(Ae,He,N0,"⨄","\\biguplus"),we(Ae,He,N0,"⋂","\\bigcap"),we(Ae,He,N0,"⋃","\\bigcup"),we(Ae,He,N0,"∫","\\int"),we(Ae,He,N0,"∫","\\intop"),we(Ae,He,N0,"∬","\\iint"),we(Ae,He,N0,"∭","\\iiint"),we(Ae,He,N0,"∏","\\prod"),we(Ae,He,N0,"∑","\\sum"),we(Ae,He,N0,"⨂","\\bigotimes"),we(Ae,He,N0,"⨁","\\bigoplus"),we(Ae,He,N0,"⨀","\\bigodot"),we(Ae,He,N0,"∮","\\oint"),we(Ae,He,N0,"∯","\\oiint"),we(Ae,He,N0,"∰","\\oiiint"),we(Ae,He,N0,"⨆","\\bigsqcup"),we(Ae,He,N0,"∫","\\smallint"),we(ti,He,$D,"…","\\textellipsis"),we(Ae,He,$D,"…","\\mathellipsis"),we(ti,He,$D,"…","\\ldots",!0),we(Ae,He,$D,"…","\\ldots",!0),we(Ae,He,$D,"⋯","\\@cdots",!0),we(Ae,He,$D,"⋱","\\ddots",!0),we(Ae,He,bn,"⋮","\\varvdots"),we(ti,He,bn,"⋮","\\varvdots"),we(Ae,He,wh,"ˊ","\\acute"),we(Ae,He,wh,"ˋ","\\grave"),we(Ae,He,wh,"¨","\\ddot"),we(Ae,He,wh,"~","\\tilde"),we(Ae,He,wh,"ˉ","\\bar"),we(Ae,He,wh,"˘","\\breve"),we(Ae,He,wh,"ˇ","\\check"),we(Ae,He,wh,"^","\\hat"),we(Ae,He,wh,"⃗","\\vec"),we(Ae,He,wh,"˙","\\dot"),we(Ae,He,wh,"˚","\\mathring"),we(Ae,He,Sa,"","\\@imath"),we(Ae,He,Sa,"","\\@jmath"),we(Ae,He,bn,"ı","ı"),we(Ae,He,bn,"ȷ","ȷ"),we(ti,He,bn,"ı","\\i",!0),we(ti,He,bn,"ȷ","\\j",!0),we(ti,He,bn,"ß","\\ss",!0),we(ti,He,bn,"æ","\\ae",!0),we(ti,He,bn,"œ","\\oe",!0),we(ti,He,bn,"ø","\\o",!0),we(ti,He,bn,"Æ","\\AE",!0),we(ti,He,bn,"Œ","\\OE",!0),we(ti,He,bn,"Ø","\\O",!0),we(ti,He,wh,"ˊ","\\'"),we(ti,He,wh,"ˋ","\\`"),we(ti,He,wh,"ˆ","\\^"),we(ti,He,wh,"˜","\\~"),we(ti,He,wh,"ˉ","\\="),we(ti,He,wh,"˘","\\u"),we(ti,He,wh,"˙","\\."),we(ti,He,wh,"¸","\\c"),we(ti,He,wh,"˚","\\r"),we(ti,He,wh,"ˇ","\\v"),we(ti,He,wh,"¨",'\\"'),we(ti,He,wh,"˝","\\H"),we(ti,He,wh,"◯","\\textcircled");var Cze={"--":!0,"---":!0,"``":!0,"''":!0};we(ti,He,bn,"–","--",!0),we(ti,He,bn,"–","\\textendash"),we(ti,He,bn,"—","---",!0),we(ti,He,bn,"—","\\textemdash"),we(ti,He,bn,"‘","`",!0),we(ti,He,bn,"‘","\\textquoteleft"),we(ti,He,bn,"’","'",!0),we(ti,He,bn,"’","\\textquoteright"),we(ti,He,bn,"“","``",!0),we(ti,He,bn,"“","\\textquotedblleft"),we(ti,He,bn,"”","''",!0),we(ti,He,bn,"”","\\textquotedblright"),we(Ae,He,bn,"°","\\degree",!0),we(ti,He,bn,"°","\\degree"),we(ti,He,bn,"°","\\textdegree",!0),we(Ae,He,bn,"£","\\pounds"),we(Ae,He,bn,"£","\\mathsterling",!0),we(ti,He,bn,"£","\\pounds"),we(ti,He,bn,"£","\\textsterling",!0),we(Ae,jt,bn,"✠","\\maltese"),we(ti,jt,bn,"✠","\\maltese");for(var Sze='0123456789/@."',wbe=0;wbe{var u=i.charCodeAt(0),d=i.charCodeAt(1),p=(u-55296)*1024+(d-56320)+65536,v=a==="math"?0:1;if(119808<=p&&p<120484){var b=Math.floor((p-119808)/26);return[mQ[b][2],mQ[b][v]]}else if(120782<=p&&p<=120831){var y=Math.floor((p-120782)/10);return[Mze[y][2],Mze[y][v]]}else{if(p===120485||p===120486)return[mQ[0][2],mQ[0][v]];if(1204860)return Rp(v,_,p,u,b.concat(A));if(E){var P,R;if(E==="boldsymbol"){var B=WHt(v,p,u,b,d);P=B.fontName,R=[B.fontClass]}else y?(P=Sbe[E].fontName,R=[E]):(P=yQ(E,u.fontWeight,u.fontShape),R=[E,u.fontWeight,u.fontShape]);if(vQ(v,P,p).metrics)return Rp(v,P,p,u,b.concat(R));if(Cze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],W=0;W{if(C9(i.classes)!==C9(a.classes)||i.skew!==a.skew||i.maxFontSize!==a.maxFontSize||i.italic!==0&&i.hasClass("mathnormal"))return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d of Object.keys(i.style))if(i.style[d]!==a.style[d])return!1;for(var p of Object.keys(a.style))if(i.style[p]!==a.style[p])return!1;return!0},Dze=i=>{for(var a=0;au&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}a.height=u,a.depth=d,a.maxFontSize=p},di=function(a,u,d,p){var v=new jD(a,u,d,p);return Cbe(v),v},A9=(i,a,u,d)=>new jD(i,a,u,d),zD=function(a,u,d){var p=di([a],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=Oi(p.height),p.maxFontSize=1,p},XHt=function(a,u,d,p){var v=new fQ(a,u,d,p);return Cbe(v),v},P7=function(a){var u=new RD(a);return Cbe(u),u},qD=function(a,u){return a instanceof RD?di([],[a],u):a},QHt=function(a){if(a.positionType==="individualShift"){for(var u=a.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b{var u=di(["mspace"],[],a),d=Uh(i,a);return u.style.marginRight=Oi(d),u},yQ=function(a,u,d){var p="";switch(a){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=a}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},Sbe={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"}},Oze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Nze=function(a,u){var[d,p,v]=Oze[a],b=new S9(d),y=new O7([b],{width:Oi(p),height:Oi(v),style:"width:"+Oi(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),E=A9(["overlay"],[y],u);return E.height=v,E.style.height=Oi(v),E.style.width=Oi(p),E},Vh={number:3,unit:"mu"},zC={number:4,unit:"mu"},B7={number:5,unit:"mu"},JHt={mord:{mop:Vh,mbin:zC,mrel:B7,minner:Vh},mop:{mord:Vh,mop:Vh,mrel:B7,minner:Vh},mbin:{mord:zC,mop:zC,mopen:zC,minner:zC},mrel:{mord:B7,mop:B7,mopen:B7,minner:B7},mopen:{},mclose:{mop:Vh,mbin:zC,mrel:B7,minner:Vh},mpunct:{mord:Vh,mop:Vh,mrel:B7,mopen:Vh,mclose:Vh,mpunct:Vh,minner:Vh},minner:{mord:Vh,mop:Vh,mbin:zC,mrel:B7,mopen:Vh,mpunct:Vh,minner:Vh}},ZHt={mord:{mop:Vh},mop:{mord:Vh,mop:Vh},mbin:{},mrel:{},mopen:{},mclose:{mop:Vh},mpunct:{},minner:{mop:Vh}},Pze={},xQ={},kQ={};function es(i){for(var{type:a,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:a,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},E=0;E{var ee=W.classes[0],ie=j.classes[0];ee==="mbin"&&tUt.has(ie)?W.classes[0]="mord":ie==="mbin"&&eUt.has(ee)&&(j.classes[0]="mord")},{node:P},R,B),_be(v,(j,W)=>{var ee,ie,oe=Lbe(W),be=Lbe(j),ge=oe&&be?j.hasClass("mtight")?(ee=ZHt[oe])==null?void 0:ee[be]:(ie=JHt[oe])==null?void 0:ie[be]:null;if(ge)return Ize(ge,_)},{node:P},R,B),v},_be=function(a,u,d,p,v){p&&a.push(p);for(var b=0;bR=>{a.splice(P+1,0,R),b++})(b)}p&&a.pop()},Bze=function(a){return a instanceof RD||a instanceof fQ||a instanceof jD&&a.hasClass("enclosing")?a:null},Abe=function(a,u){var d=Bze(a);if(d){var p=d.children;if(p.length){if(u==="right")return Abe(p[p.length-1],"right");if(u==="left")return Abe(p[0],"left")}}return a},Lbe=function(a,u){if(!a)return null;u&&(a=Abe(a,u));var d=a.classes[0];return rUt[d]||null},vR=function(a,u){var d=["nulldelimiter"].concat(a.baseSizingClasses());return di(u.concat(d))},Du=function(a,u,d){if(!a)return di();if(xQ[a.type]){var p=xQ[a.type](a,u);if(d&&u.size!==d.size){p=di(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new ki("Got group of unknown type: '"+a.type+"'")};function EQ(i,a){var u=di(["base"],i,a),d=di(["strut"]);return d.style.height=Oi(u.height+u.depth),u.depth&&(d.style.verticalAlign=Oi(-u.depth)),u.children.unshift(d),u}function Mbe(i,a){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=d1(i,a,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y0&&(v.push(EQ(b,a)),b=[]),v.push(d[y]));b.length>0&&v.push(EQ(b,a));var _;u?(_=EQ(d1(u,a,!0),a),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=di(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=Oi(A.height+A.depth),A.depth&&(P.style.verticalAlign=Oi(-A.depth))}return A}function Fze(i){return new RD(i)}class Si{constructor(a,u,d){this.type=a,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(a,u){this.attributes[a]=u}getAttribute(a){return this.attributes[a]}toNode(){var a=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&a.setAttribute(u,this.attributes[u]);this.classes.length>0&&(a.className=C9(this.classes));for(var d=0;d0&&(a+=' class ="'+zg(C9(this.classes))+'"'),a+=">";for(var d=0;d",a}toText(){return this.children.map(a=>a.toText()).join("")}}class B0{constructor(a){this.text=a}toNode(){return document.createTextNode(this.text)}toMarkup(){return zg(this.toText())}toText(){return this.text}}class Rze{constructor(a){this.width=a,a>=.05555&&a<=.05556?this.character=" ":a>=.1666&&a<=.1667?this.character=" ":a>=.2222&&a<=.2223?this.character=" ":a>=.2777&&a<=.2778?this.character="  ":a>=-.05556&&a<=-.05555?this.character=" ⁣":a>=-.1667&&a<=-.1666?this.character=" ⁣":a>=-.2223&&a<=-.2222?this.character=" ⁣":a>=-.2778&&a<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var a=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return a.setAttribute("width",Oi(this.width)),a}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var iUt=new Set(["\\imath","\\jmath"]),sUt=new Set(["mrow","mtable"]),Vv=function(a,u,d){return vh[u][a]&&vh[u][a].replace&&a.charCodeAt(0)!==55349&&!(Cze.hasOwnProperty(a)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(a=vh[u][a].replace),new B0(a)},Dbe=function(a){return a.length===1?a[0]:new Si("mrow",a)},Ibe=function(a,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=a.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return a.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathsfit")return"sans-serif-italic";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=a.text;if(iUt.has(v))return null;if(vh[p][v]){var b=vh[p][v].replace;b&&(v=b)}var y=Sbe[d].fontName;return mbe(v,y,p)?Sbe[d].variant:null};function Obe(i){if(!i)return!1;if(i.type==="mi"&&i.children.length===1){var a=i.children[0];return a instanceof B0&&a.text==="."}else if(i.type==="mo"&&i.children.length===1&&i.getAttribute("separator")==="true"&&i.getAttribute("lspace")==="0em"&&i.getAttribute("rspace")==="0em"){var u=i.children[0];return u instanceof B0&&u.text===","}else return!1}var wm=function(a,u,d){if(a.length===1){var p=Al(a[0],u);return d&&p instanceof Si&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y=1&&(b.type==="mn"||Obe(b))){var _=E.children[0];_ instanceof Si&&_.type==="mn"&&(_.children=[...b.children,..._.children],v.pop())}else if(b.type==="mi"&&b.children.length===1){var A=b.children[0];if(A instanceof B0&&A.text==="̸"&&(E.type==="mo"||E.type==="mi"||E.type==="mn")){var P=E.children[0];P instanceof B0&&P.text.length>0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(E),b=E}return v},L9=function(a,u,d){return Dbe(wm(a,u,d))},Al=function(a,u){if(!a)return new Si("mrow");if(kQ[a.type]){var d=kQ[a.type](a,u);return d}else throw new ki("Got group of unknown type: '"+a.type+"'")};function jze(i,a,u,d,p){var v=wm(i,u),b;v.length===1&&v[0]instanceof Si&&sUt.has(v[0].type)?b=v[0]:b=new Si("mrow",v);var y=new Si("annotation",[new B0(a)]);y.setAttribute("encoding","application/x-tex");var E=new Si("semantics",[b,y]),_=new Si("math",[E]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return di([A],[_])}var aUt=[[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]],$ze=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],zze=function(a,u){return u.size<2?a:aUt[a-1][u.size-1]};class F7{constructor(a){this.style=a.style,this.color=a.color,this.size=a.size||F7.BASESIZE,this.textSize=a.textSize||this.size,this.phantom=!!a.phantom,this.font=a.font||"",this.fontFamily=a.fontFamily||"",this.fontWeight=a.fontWeight||"",this.fontShape=a.fontShape||"",this.sizeMultiplier=$ze[this.size-1],this.maxSize=a.maxSize,this.minRuleThickness=a.minRuleThickness,this._fontMetrics=void 0}extend(a){var u={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(u,a),new F7(u)}havingStyle(a){return this.style===a?this:this.extend({style:a,size:zze(this.textSize,a)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(a){return this.size===a&&this.textSize===a?this:this.extend({style:this.style.text(),size:a,textSize:a,sizeMultiplier:$ze[a-1]})}havingBaseStyle(a){a=a||this.style.text();var u=zze(F7.BASESIZE,a);return this.size===u&&this.textSize===F7.BASESIZE&&this.style===a?this:this.extend({style:a,size:u})}havingBaseSizing(){var a;switch(this.style.id){case 4:case 5:a=3;break;case 6:case 7:a=1;break;default:a=6}return this.extend({style:this.style.text(),size:a})}withColor(a){return this.extend({color:a})}withPhantom(){return this.extend({phantom:!0})}withFont(a){return this.extend({font:a})}withTextFontFamily(a){return this.extend({fontFamily:a,font:""})}withTextFontWeight(a){return this.extend({fontWeight:a,font:""})}withTextFontShape(a){return this.extend({fontShape:a,font:""})}sizingClasses(a){return a.size!==this.size?["sizing","reset-size"+a.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==F7.BASESIZE?["sizing","reset-size"+this.size,"size"+F7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=UHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}F7.BASESIZE=6;var qze=function(a){return new F7({style:a.displayMode?bo.DISPLAY:bo.TEXT,maxSize:a.maxSize,minRuleThickness:a.minRuleThickness})},Hze=function(a,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),a=di(d,[a])}return a},oUt=function(a,u,d){var p=qze(d),v;if(d.output==="mathml")return jze(a,u,p,d.displayMode,!0);if(d.output==="html"){var b=Mbe(a,p);v=di(["katex"],[b])}else{var y=jze(a,u,p,d.displayMode,!1),E=Mbe(a,p);v=di(["katex"],[y,E])}return Hze(v,d)},cUt=function(a,u,d){var p=qze(d),v=Mbe(a,p),b=di(["katex"],[v]);return Hze(b,d)},uUt={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":"="},CQ=function(a){var u=new Si("mo",[new B0(uUt[a.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},lUt={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]},hUt=new Set(["widehat","widecheck","widetilde","utilde"]),SQ=function(a,u){function d(){var y=4e5,E=a.label.slice(1);if(hUt.has(E)){var _=a,A=_.base.type==="ordgroup"?_.base.body.length:1,P,R,B;if(A>5)E==="widehat"||E==="widecheck"?(P=420,y=2364,B=.42,R=E+"4"):(P=312,y=2340,B=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];E==="widehat"||E==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],B=[0,.24,.3,.3,.36,.42][j],R=E+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],B=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var W=new S9(R),ee=new O7([W],{width:"100%",height:Oi(B),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:A9([],[ee],u),minWidth:0,height:B}}else{var ie=[],oe=lUt[E],[be,ge,ae]=oe,ne=ae/1e3,se=be.length,de,X;if(se===1){var pe=oe[3];de=["hide-tail"],X=[pe]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+se+" children.");for(var G=0;G0&&(p.style.minWidth=Oi(v)),p},fUt=function(a,u,d,p,v){var b,y=a.height+a.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=di(["stretchy",u],[],v),u==="fbox"){var E=v.color&&v.getColor();E&&(b.style.borderColor=E)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new bbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new bbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new O7(_,{width:"100%",height:Oi(y)});b=A9([],[A],v)}return b.height=y,b.style.height=Oi(y),b};function Xo(i,a){if(!i||i.type!==a)throw new Error("Expected node of type "+a+", but got "+(i?"node of type "+i.type:String(i)));return i}function _Q(i){var a=AQ(i);if(!a)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return a}function AQ(i){return i&&(i.type==="atom"||GHt.hasOwnProperty(i.type))?i:null}var Uze=i=>{if(i instanceof mm)return i;if(HHt(i)&&i.children.length===1)return Uze(i.children[0])},Nbe=(i,a)=>{var u,d,p;i&&i.type==="supsub"?(d=Xo(i.base,"accent"),u=d.base,i.base=u,p=qHt(Du(i,a)),i.base=d):(d=Xo(i,"accent"),u=d.base);var v=Du(u,a.havingCrampedStyle()),b=d.isShifty&&D7(u),y=0;if(b){var E,_;y=(E=(_=Uze(v))==null?void 0:_.skew)!=null?E:0}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,a.fontMetrics().xHeight),R;if(d.isStretchy)R=SQ(d,a),R=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+Oi(2*y)+")",marginLeft:Oi(2*y)}:void 0}]});else{var B,j;d.label==="\\vec"?(B=Nze("vec",a),j=Oze.vec[1]):(B=wQ({type:"textord",mode:d.mode,text:d.label},a,"textord"),B=zHt(B),B.italic=0,j=B.width,A&&(P+=B.depth)),R=di(["accent-body"],[B]);var W=d.label==="\\textcircled";W&&(R.classes.push("accent-full"),P=v.height);var ee=y;W||(ee-=j/2),R.style.left=Oi(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]})}var ie=di(["mord","accent"],[R],a);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},Vze=(i,a)=>{var u=i.isStretchy?CQ(i.label):new Si("mo",[Vv(i.label,i.mode)]),d=new Si("mover",[Al(i.base,a),u]);return d.setAttribute("accent","true"),d},dUt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));es({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:(i,a)=>{var u=TQ(a[0]),d=!dUt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:Nbe,mathmlBuilder:Vze}),es({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,a)=>{var u=a[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:Nbe,mathmlBuilder:Vze}),es({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,a)=>{var u=Du(i.base,a),d=SQ(i,a),p=i.label==="\\utilde"?.12:0,v=Mu({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]});return di(["mord","accentunder"],[v],a)},mathmlBuilder:(i,a)=>{var u=CQ(i.label),d=new Si("munder",[Al(i.base,a),u]);return d.setAttribute("accentunder","true"),d}});var LQ=i=>{var a=new Si("mpadded",i?[i]:[]);return a.setAttribute("width","+0.6em"),a.setAttribute("lspace","0.3em"),a};es({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(i,a,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:a[0],below:u[0]}},htmlBuilder(i,a){var u=a.style,d=a.havingStyle(u.sup()),p=qD(Du(i.body,d,a),a),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=a.havingStyle(u.sub()),b=qD(Du(i.below,d,a),a),b.classes.push(v+"-arrow-pad"));var y=SQ(i,a),E=-a.fontMetrics().axisHeight+.5*y.height,_=-a.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-a.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=Mu({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:E},{type:"elem",elem:b,shift:P}]})}else A=Mu({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:E}]});return A.children[0].children[0].children[1].classes.push("svg-align"),di(["mrel","x-arrow"],[A],a)},mathmlBuilder(i,a){var u=CQ(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=LQ(Al(i.body,a));if(i.below){var v=LQ(Al(i.below,a));d=new Si("munderover",[u,v,p])}else d=new Si("mover",[u,p])}else if(i.below){var b=LQ(Al(i.below,a));d=new Si("munder",[u,b])}else d=LQ(),d=new Si("mover",[u,d]);return d}});function Gze(i,a){var u=d1(i.body,a,!0);return di([i.mclass],u,a)}function Kze(i,a){var u,d=wm(i.body,a);return i.mclass==="minner"?u=new Si("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new Si("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new Si("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}es({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:P0(p),isCharacterBox:D7(p)}},htmlBuilder:Gze,mathmlBuilder:Kze});var MQ=i=>{var a=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return a.type==="atom"&&(a.family==="bin"||a.family==="rel")?"m"+a.family:"mord"};es({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,a){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:MQ(a[0]),body:P0(a[1]),isCharacterBox:D7(a[1])}}}),es({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,a){var{parser:u,funcName:d}=i,p=a[1],v=a[0],b;d!=="\\stackrel"?b=MQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:P0(p)},E={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[E],isCharacterBox:D7(E)}},htmlBuilder:Gze,mathmlBuilder:Kze}),es({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:MQ(a[0]),body:P0(a[0])}},htmlBuilder(i,a){var u=d1(i.body,a,!0),d=di([i.mclass],u,a);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,a){var u=wm(i.body,a),d=new Si("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var gUt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Wze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Yze=i=>i.type==="textord"&&i.text==="@",pUt=(i,a)=>(i.type==="mathord"||i.type==="atom")&&i.text===a;function bUt(i,a,u){var d=gUt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[a[0]],[a[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[a[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[a[1]],[]),E={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[E],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function mUt(i){var a=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){a.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){a[a.length-1].length===0&&a.pop();break}else throw new ki("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;vAV".includes(_))for(var P=0;P<2;P++){for(var R=!0,B=E+1;BAV=|." after @',b[E]);var j=bUt(_,A,i),W={type:"styling",body:[j],mode:"math",style:"display"};d.push(W),y=Wze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}es({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:a[0]}},htmlBuilder(i,a){var u=a.havingStyle(a.style.sup()),d=qD(Du(i.label,u,a),a);return d.classes.push("cd-label-"+i.side),d.style.bottom=Oi(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,a){var u=new Si("mrow",[Al(i.label,a)]);return u=new Si("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new Si("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),es({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,a){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:a[0]}},htmlBuilder(i,a){var u=qD(Du(i.fragment,a),a);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,a){return new Si("mrow",[Al(i.fragment,a)])}}),es({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,a){for(var{parser:u}=i,d=Xo(a[0],"ordgroup"),p=d.body,v="",b=0;b=1114111)throw new ki("\\@char with invalid code point "+v);return E<=65535?_=String.fromCharCode(E):(E-=65536,_=String.fromCharCode((E>>10)+55296,(E&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var Xze=(i,a)=>{var u=d1(i.body,a.withColor(i.color),!1);return P7(u)},Qze=(i,a)=>{var u=wm(i.body,a.withColor(i.color)),d=new Si("mstyle",u);return d.setAttribute("mathcolor",i.color),d};es({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,a){var{parser:u}=i,d=Xo(a[0],"color-token").color,p=a[1];return{type:"color",mode:u.mode,color:d,body:P0(p)}},htmlBuilder:Xze,mathmlBuilder:Qze}),es({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,a){var{parser:u,breakOnTokenText:d}=i,p=Xo(a[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:Xze,mathmlBuilder:Qze}),es({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,a,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Xo(p,"size").value}},htmlBuilder(i,a){var u=di(["mspace"],[],a);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=Oi(Uh(i.size,a)))),u},mathmlBuilder(i,a){var u=new Si("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",Oi(Uh(i.size,a)))),u}});var Pbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Jze=i=>{var a=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(a))throw new ki("Expected a control sequence",i);return a},vUt=i=>{var a=i.gullet.popToken();return a.text==="="&&(a=i.gullet.popToken(),a.text===" "&&(a=i.gullet.popToken())),a},Zze=(i,a,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(a,p,d)};es({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:a,funcName:u}=i;a.consumeSpaces();var d=a.fetch();if(Pbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=Pbe[d.text]),Xo(a.parseFunction(),"internal");throw new ki("Invalid token after macro prefix",d)}}),es({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=a.gullet.popToken(),p=d.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(p))throw new ki("Expected a control sequence",d);for(var v=0,b,y=[[]];a.gullet.future().text!=="{";)if(d=a.gullet.popToken(),d.text==="#"){if(a.gullet.future().text==="{"){b=a.gullet.future(),y[v].push("{");break}if(d=a.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new ki('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new ki('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new ki("Expected a macro definition");y[v].push(d.text)}var{tokens:E}=a.gullet.consumeArg();return b&&E.unshift(b),(u==="\\edef"||u==="\\xdef")&&(E=a.gullet.expandTokens(E),E.reverse()),a.gullet.macros.set(p,{tokens:E,numArgs:v,delimiters:y},u===Pbe[u]),{type:"internal",mode:a.mode}}}),es({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=Jze(a.gullet.popToken());a.gullet.consumeSpaces();var p=vUt(a);return Zze(a,d,p,u==="\\\\globallet"),{type:"internal",mode:a.mode}}}),es({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=Jze(a.gullet.popToken()),p=a.gullet.popToken(),v=a.gullet.popToken();return Zze(a,d,v,u==="\\\\globalfuture"),a.gullet.pushToken(v),a.gullet.pushToken(p),{type:"internal",mode:a.mode}}});var wR=function(a,u,d){var p=vh.math[a]&&vh.math[a].replace,v=mbe(p||a,u,d);if(!v)throw new Error("Unsupported symbol "+a+" and font size "+u+".");return v},Bbe=function(a,u,d,p){var v=d.havingBaseStyle(u),b=di(p.concat(v.sizingClasses(d)),[a],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},eqe=function(a,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;a.classes.push("delimcenter"),a.style.top=Oi(v),a.height-=v,a.depth+=v},wUt=function(a,u,d,p,v,b){var y=Rp(a,"Main-Regular",v,p),E=Bbe(y,u,p,b);return d&&eqe(E,p,u),E},yUt=function(a,u,d,p){return Rp(a,"Size"+u+"-Regular",d,p)},tqe=function(a,u,d,p,v,b){var y=yUt(a,u,v,p),E=Bbe(di(["delimsizing","size"+u],[y],p),bo.TEXT,p,b);return d&&eqe(E,p,bo.TEXT),E},Fbe=function(a,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=di(["delimsizinginner",p],[di([],[Rp(a,u,d)])]);return{type:"elem",elem:v}},Rbe=function(a,u,d){var p=Y4["Size4-Regular"][a.charCodeAt(0)]?Y4["Size4-Regular"][a.charCodeAt(0)][4]:Y4["Size1-Regular"][a.charCodeAt(0)][4],v=new S9("inner",PHt(a,Math.round(1e3*u))),b=new O7([v],{width:Oi(p),height:Oi(u),style:"width:"+Oi(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=A9([],[b],d);return y.height=u,y.style.height=Oi(u),y.style.width=Oi(p),{type:"elem",elem:y}},jbe=.008,DQ={type:"kern",size:-1*jbe},xUt=new Set(["|","\\lvert","\\rvert","\\vert"]),kUt=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),nqe=function(a,u,d,p,v,b){var y,E,_,A,P="",R=0;y=_=A=a,E=null;var B="Size1-Regular";a==="\\uparrow"?_=A="⏐":a==="\\Uparrow"?_=A="‖":a==="\\downarrow"?y=_="⏐":a==="\\Downarrow"?y=_="‖":a==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):a==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):xUt.has(a)?(_="∣",P="vert",R=333):kUt.has(a)?(_="∥",P="doublevert",R=556):a==="["||a==="\\lbrack"?(y="⎡",_="⎢",A="⎣",B="Size4-Regular",P="lbrack",R=667):a==="]"||a==="\\rbrack"?(y="⎤",_="⎥",A="⎦",B="Size4-Regular",P="rbrack",R=667):a==="\\lfloor"||a==="⌊"?(_=y="⎢",A="⎣",B="Size4-Regular",P="lfloor",R=667):a==="\\lceil"||a==="⌈"?(y="⎡",_=A="⎢",B="Size4-Regular",P="lceil",R=667):a==="\\rfloor"||a==="⌋"?(_=y="⎥",A="⎦",B="Size4-Regular",P="rfloor",R=667):a==="\\rceil"||a==="⌉"?(y="⎤",_=A="⎥",B="Size4-Regular",P="rceil",R=667):a==="("||a==="\\lparen"?(y="⎛",_="⎜",A="⎝",B="Size4-Regular",P="lparen",R=875):a===")"||a==="\\rparen"?(y="⎞",_="⎟",A="⎠",B="Size4-Regular",P="rparen",R=875):a==="\\{"||a==="\\lbrace"?(y="⎧",E="⎨",A="⎩",_="⎪",B="Size4-Regular"):a==="\\}"||a==="\\rbrace"?(y="⎫",E="⎬",A="⎭",_="⎪",B="Size4-Regular"):a==="\\lgroup"||a==="⟮"?(y="⎧",A="⎩",_="⎪",B="Size4-Regular"):a==="\\rgroup"||a==="⟯"?(y="⎫",A="⎭",_="⎪",B="Size4-Regular"):a==="\\lmoustache"||a==="⎰"?(y="⎧",A="⎭",_="⎪",B="Size4-Regular"):(a==="\\rmoustache"||a==="⎱")&&(y="⎫",A="⎩",_="⎪",B="Size4-Regular");var j=wR(y,B,v),W=j.height+j.depth,ee=wR(_,B,v),ie=ee.height+ee.depth,oe=wR(A,B,v),be=oe.height+oe.depth,ge=0,ae=1;if(E!==null){var ne=wR(E,B,v);ge=ne.height+ne.depth,ae=2}var se=W+be+ge,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,pe=p.fontMetrics().axisHeight;d&&(pe*=p.sizeMultiplier);var G=X/2-pe,xe=[];if(P.length>0){var U=X-W-be,Be=Math.round(X*1e3),Pe=BHt(P,Math.round(U*1e3)),je=new S9(P,Pe),Ie=Oi(R/1e3),Se=Oi(Be/1e3),Ce=new O7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Be}),ke=A9([],[Ce],p);ke.height=Be/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(Fbe(A,B,v)),xe.push(DQ),E===null){var Ke=X-W-be+2*jbe;xe.push(Rbe(_,Ke,p))}else{var zt=(X-W-be-ge)/2+2*jbe;xe.push(Rbe(_,zt,p)),xe.push(DQ),xe.push(Fbe(E,B,v)),xe.push(DQ),xe.push(Rbe(_,zt,p))}xe.push(DQ),xe.push(Fbe(y,B,v))}var Ne=p.havingBaseStyle(bo.TEXT),pn=Mu({positionType:"bottom",positionData:G,children:xe});return Bbe(di(["delimsizing","mult"],[pn],Ne),bo.TEXT,p,b)},$be=80,zbe=.08,qbe=function(a,u,d,p,v){var b=NHt(a,p,d),y=new S9(a,b),E=new O7([y],{width:"400em",height:Oi(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return A9(["hide-tail"],[E],v)},TUt=function(a,u){var d=u.havingBaseSizing(),p=oqe("\\surd",a*d.sizeMultiplier,aqe,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,E=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+$be,a<1?v=1:a<1.4&&(v=.7),E=(1+b+zbe)/v,_=(1+b)/v,y=qbe("sqrtMain",E,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+$be)*yR[p.size],_=(yR[p.size]+b)/v,E=(yR[p.size]+b+zbe)/v,y=qbe("sqrtSize"+p.size,E,A,b,u),y.style.minWidth="1.02em",P=1/v):(E=a+b+zbe,_=a+b,A=Math.floor(1e3*a+b)+$be,y=qbe("sqrtTall",E,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=Oi(E),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},rqe=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),EUt=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),iqe=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),yR=[0,1.2,1.8,2.4,3],sqe=function(a,u,d,p,v){if(a==="<"||a==="\\lt"||a==="⟨"?a="\\langle":(a===">"||a==="\\gt"||a==="⟩")&&(a="\\rangle"),rqe.has(a)||iqe.has(a))return tqe(a,u,!1,d,p,v);if(EUt.has(a))return nqe(a,yR[u],!1,d,p,v);throw new ki("Illegal delimiter: '"+a+"'")},CUt=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],SUt=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"stack"}],aqe=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],_Ut=function(a){if(a.type==="small")return"Main-Regular";if(a.type==="large")return"Size"+a.size+"-Regular";if(a.type==="stack")return"Size4-Regular";var u=a.type;throw new Error("Add support for delim type '"+u+"' here.")},oqe=function(a,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;bu)return y}return d[d.length-1]},Hbe=function(a,u,d,p,v,b){a==="<"||a==="\\lt"||a==="⟨"?a="\\langle":(a===">"||a==="\\gt"||a==="⟩")&&(a="\\rangle");var y;iqe.has(a)?y=CUt:rqe.has(a)?y=aqe:y=SUt;var E=oqe(a,u,y,p);return E.type==="small"?wUt(a,E.style,d,p,v,b):E.type==="large"?tqe(a,E.size,d,p,v,b):nqe(a,u,d,p,v,b)},Ube=function(a,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,E=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*E,2*A-_);return Hbe(a,P,!0,p,v,b)},cqe={"\\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}},AUt=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 IQ(i,a){var u=AQ(i);if(u&&AUt.has(u.text))return u;throw u?new ki("Invalid delimiter '"+u.text+"' after '"+a.funcName+"'",i):new ki("Invalid delimiter type '"+i.type+"'",i)}es({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:(i,a)=>{var u=IQ(a[0],i);return{type:"delimsizing",mode:i.parser.mode,size:cqe[i.funcName].size,mclass:cqe[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,a)=>i.delim==="."?di([i.mclass]):sqe(i.delim,i.size,a,i.mode,[i.mclass]),mathmlBuilder:i=>{var a=[];i.delim!=="."&&a.push(Vv(i.delim,i.mode));var u=new Si("mo",a);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=Oi(yR[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function uqe(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}es({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new ki("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:IQ(a[0],i).text,color:u}}}),es({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=IQ(a[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Xo(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,a)=>{uqe(i);for(var u=d1(i.body,a,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b{uqe(i);var u=wm(i.body,a);if(i.left!=="."){var d=new Si("mo",[Vv(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new Si("mo",[Vv(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return Dbe(u)}}),es({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=IQ(a[0],i);if(!i.parser.leftrightDepth)throw new ki("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,a)=>{var u;if(i.delim===".")u=vR(a,[]);else{u=sqe(i.delim,1,a,i.mode,[]);var d={delim:i.delim,options:a};u.isMiddle=d}return u},mathmlBuilder:(i,a)=>{var u=i.delim==="\\vert"||i.delim==="|"?Vv("|","text"):Vv(i.delim,i.mode),d=new Si("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var OQ=(i,a)=>{var u=qD(Du(i.body,a),a),d=i.label.slice(1),p=a.sizeMultiplier,v,b=0,y=D7(i.body);if(d==="sout")v=di(["stretchy","sout"]),v.height=a.fontMetrics().defaultRuleThickness/p,b=-.5*a.fontMetrics().xHeight;else if(d==="phase"){var E=Uh({number:.6,unit:"pt"},a),_=Uh({number:.35,unit:"ex"},a),A=a.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+E+_;u.style.paddingLeft=Oi(P/2+E);var R=Math.floor(1e3*P*p),B=IHt(R),j=new O7([new S9("phase",B)],{width:"400em",height:Oi(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=A9(["hide-tail"],[j],a),v.style.height=Oi(P),b=u.depth+E+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var W=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(a.fontMetrics().fboxrule,a.minRuleThickness),W=a.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=W):d==="angl"?(ie=Math.max(a.fontMetrics().defaultRuleThickness,a.minRuleThickness),W=4*ie,ee=Math.max(0,.25-u.depth)):(W=y?.2:0,ee=W),v=fUt(u,d,W,ee,a),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=Oi(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=Oi(ie),v.style.borderRightWidth=Oi(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=Mu({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]});else{var be=/cancel|phase/.test(d)?["svg-align"]:[];oe=Mu({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:be}]})}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?di(["mord","cancel-lap"],[oe],a):di(["mord"],[oe],a)},NQ=(i,a)=>{var u=0,d=new Si(i.label.includes("colorbox")?"mpadded":"menclose",[Al(i.body,a)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=a.fontMetrics().fboxsep*a.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(a.fontMetrics().fboxrule,a.minRuleThickness);d.setAttribute("style","border: "+Oi(p)+" solid "+i.borderColor)}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};es({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,a,u){var{parser:d,funcName:p}=i,v=Xo(a[0],"color-token").color,b=a[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,a,u){var{parser:d,funcName:p}=i,v=Xo(a[0],"color-token").color,b=Xo(a[1],"color-token").color,y=a[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:a[0]}}}),es({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i;u.mode==="math"&&u.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var p=a[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,a){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:a[0]}}});var lqe={};function X4(i){for(var{type:a,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:a,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},E=0;E{var a=i.parser.settings;if(!a.displayMode)throw new ki("{"+i.envName+"} can be used only in display mode.")},LUt=new Set(["gather","gather*"]);function Vbe(i){if(!i.includes("ed"))return!i.includes("*")}function M9(i,a,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:E,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=a;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var B=i.gullet.expandMacroAsText("\\arraystretch");if(B==null)b=1;else if(b=parseFloat(B),!b||b<0)throw new ki("Invalid \\arraystretch: "+B)}i.gullet.beginGroup();var j=[],W=[j],ee=[],ie=[],oe=E!=null?[]:void 0;function be(){E&&i.gullet.macros.set("\\@eqnsw","1",!0)}function ge(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new ym("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!E&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(be(),ie.push(fqe(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup();var ne={type:"ordgroup",mode:i.mode,body:ae};u&&(ne={type:"styling",mode:i.mode,style:u,body:[ne]}),j.push(ne);var se=i.fetch().text;if(se==="&"){if(P&&j.length===P){if(_||y)throw new ki("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(se==="\\end"){ge(),j.length===1&&ne.type==="styling"&&ne.body.length===1&&ne.body[0].type==="ordgroup"&&ne.body[0].body.length===0&&(W.length>1||!A)&&W.pop(),ie.length0&&(be+=.25),_.push({pos:be,isDashed:gt[on]})}for(ge(b[0]),d=0;d0&&(G+=oe,segt))for(d=0;d=y)){var yt=void 0;if(p>0||a.hskipBeforeAndAfter){var Bt,Ze;yt=(Bt=(Ze=Ne)==null?void 0:Ze.pregap)!=null?Bt:R,yt!==0&&(Pe=di(["arraycolsep"],[]),Pe.style.width=Oi(yt),Be.push(Pe))}var Dt=[];for(d=0;d0){for(var Hs=zD("hline",u,A),mo=zD("hdashline",u,A),Tr=[{type:"elem",elem:ia,shift:0}];_.length>0;){var On=_.pop(),Rn=On.pos-xe;On.isDashed?Tr.push({type:"elem",elem:mo,shift:Rn}):Tr.push({type:"elem",elem:Hs,shift:Rn})}ia=Mu({positionType:"individualShift",children:Tr})}if(Ie.length===0)return di(["mord"],[ia],u);var zn=Mu({positionType:"individualShift",children:Ie}),Ct=di(["tag"],[zn],u);return P7([ia,Ct])},MUt={c:"center ",l:"left ",r:"right "},J4=function(a,u){for(var d=[],p=new Si("mtd",[],["mtr-glue"]),v=new Si("mtd",[],["mml-eqn-num"]),b=0;b0){var j=a.cols,W="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var be=ie;be0?"left ":"",R+=X[X.length-1].length>0?"right ":"";for(var pe=1;pe0&&B&&(ee=1),d[j]={type:"align",align:W,pregap:ee,postgap:0}}return b.colSeparationType=B?"align":"alignat",b};X4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,a){var u=AQ(a[0]),d=u?[a[0]]:Xo(a[0],"ordgroup").body,p=d.map(function(b){var y=_Q(b),E=y.text;if("lcr".includes(E))return{type:"align",align:E};if(E==="|")return{type:"separator",separator:"|"};if(E===":")return{type:"separator",separator:":"};throw new ki("Unknown column alignment: "+E,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return M9(i.parser,v,Gbe(i.envName))},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var a={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,!"lcr".includes(u))throw new ki("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=M9(i.parser,d,Gbe(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),a?{type:"leftright",mode:i.mode,body:[v],left:a[0],right:a[1],rightColor:void 0}:v},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var a={arraystretch:.5},u=M9(i.parser,a,"script");return u.colSeparationType="small",u},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,a){var u=AQ(a[0]),d=u?[a[0]]:Xo(a[0],"ordgroup").body,p=d.map(function(y){var E=_Q(y),_=E.text;if("lc".includes(_))return{type:"align",align:_};throw new ki("Unknown column alignment: "+_,y)});if(p.length>1)throw new ki("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5},b=M9(i.parser,v,"script");if(b.body.length>0&&b.body[0].length>1)throw new ki("{subarray} can contain only one column");return b},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var a={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=M9(i.parser,a,Gbe(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.includes("r")?".":"\\{",right:i.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:dqe,htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){LUt.has(i.envName)&&PQ(i);var a={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Vbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return M9(i.parser,a,"display")},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:dqe,htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){PQ(i);var a={autoTag:Vbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return M9(i.parser,a,"display")},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return PQ(i),mUt(i.parser)},htmlBuilder:Q4,mathmlBuilder:J4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),es({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,a){throw new ki(i.funcName+" valid only within array environment")}});var gqe=lqe;es({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];if(p.type!=="ordgroup")throw new ki("Invalid environment name",p);for(var v="",b=0;b{var u=i.font,d=a.withFont(u);return Du(i.body,d)},bqe=(i,a)=>{var u=i.font,d=a.withFont(u);return Al(i.body,d)},mqe={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};es({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=TQ(a[0]),v=d;return v in mqe&&(v=mqe[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:pqe,mathmlBuilder:bqe}),es({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"mclass",mode:u.mode,mclass:MQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:D7(d)}}}),es({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,a)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:pqe,mathmlBuilder:bqe});var DUt=(i,a)=>{var u=a.style,d=u.fracNum(),p=u.fracDen(),v;v=a.havingStyle(d);var b=Du(i.numer,v,a);if(i.continued){var y=8.5/a.fontMetrics().ptPerEm,E=3.5/a.fontMetrics().ptPerEm;b.height=b.height0?j=3*R:j=7*R,W=a.fontMetrics().denom1):(P>0?(B=a.fontMetrics().num2,j=R):(B=a.fontMetrics().num3,j=3*R),W=a.fontMetrics().denom2);var ee;if(A){var oe=a.fontMetrics().axisHeight;B-b.depth-(oe+.5*P){var u=new Si("mfrac",[Al(i.numer,a),Al(i.denom,a)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Uh(i.barSize,a);u.setAttribute("linethickness",Oi(d))}if(i.leftDelim!=null||i.rightDelim!=null){var p=[];if(i.leftDelim!=null){var v=new Si("mo",[new B0(i.leftDelim.replace("\\",""))]);v.setAttribute("fence","true"),p.push(v)}if(p.push(u),i.rightDelim!=null){var b=new Si("mo",[new B0(i.rightDelim.replace("\\",""))]);b.setAttribute("fence","true"),p.push(b)}return Dbe(p)}return u},vqe=(i,a)=>{if(!a)return i;var u={type:"styling",mode:i.mode,style:a,body:[i]};return u};es({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0],v=a[1],b,y=null,E=null;switch(d){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",E=")";break;case"\\\\bracefrac":b=!1,y="\\{",E="\\}";break;case"\\\\brackfrac":b=!1,y="[",E="]";break;default:throw new Error("Unrecognized genfrac command")}var _=d==="\\cfrac",A=null;return _||d.startsWith("\\d")?A="display":d.startsWith("\\t")&&(A="text"),vqe({type:"genfrac",mode:u.mode,numer:p,denom:v,continued:_,hasBarLine:b,leftDelim:y,rightDelim:E,barSize:null},A)},htmlBuilder:DUt,mathmlBuilder:IUt}),es({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:a,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:a.mode,replaceWith:p,token:d}}});var wqe=["display","text","script","scriptscript"],yqe=function(a){var u=null;return a.length>0&&(u=a,u=u==="."?null:u),u};es({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,a){var{parser:u}=i,d=a[4],p=a[5],v=TQ(a[0]),b=v.type==="atom"&&v.family==="open"?yqe(v.text):null,y=TQ(a[1]),E=y.type==="atom"&&y.family==="close"?yqe(y.text):null,_=Xo(a[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R=null,B=a[3];if(B.type==="ordgroup"){if(B.body.length>0){var j=Xo(B.body[0],"textord");R=wqe[Number(j.text)]}}else B=Xo(B,"textord"),R=wqe[Number(B.text)];return vqe({type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:E},R)}}),es({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,a){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Xo(a[0],"size").value,token:p}}}),es({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0],v=Xo(a[1],"infix").size;if(!v)throw new Error("\\\\abovefrac expected size, but got "+String(v));var b=a[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null}}});var xqe=(i,a)=>{var u=a.style,d,p;i.type==="supsub"?(d=i.sup?Du(i.sup,a.havingStyle(u.sup()),a):Du(i.sub,a.havingStyle(u.sub()),a),p=Xo(i.base,"horizBrace")):p=Xo(i,"horizBrace");var v=Du(p.base,a.havingBaseStyle(bo.DISPLAY)),b=SQ(p,a),y;if(p.isOver?(y=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]}),y.children[0].children[0].children[1].classes.push("svg-align")):(y=Mu({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]}),y.children[0].children[0].children[0].classes.push("svg-align")),d){var E=di(["minner",p.isOver?"mover":"munder"],[y],a);p.isOver?y=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:E},{type:"kern",size:.2},{type:"elem",elem:d}]}):y=Mu({positionType:"bottom",positionData:E.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:E}]})}return di(["minner",p.isOver?"mover":"munder"],[y],a)},OUt=(i,a)=>{var u=CQ(i.label);return new Si(i.isOver?"mover":"munder",[Al(i.base,a),u])};es({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:d.includes("\\over"),base:a[0]}},htmlBuilder:xqe,mathmlBuilder:OUt}),es({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[1],p=Xo(a[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:P0(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,a)=>{var u=d1(i.body,a,!1);return XHt(i.href,[],u,a)},mathmlBuilder:(i,a)=>{var u=L9(i.body,a);return u instanceof Si||(u=new Si("mrow",[u])),u.setAttribute("href",i.href),u}}),es({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=Xo(a[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v{var{parser:u,funcName:d,token:p}=i,v=Xo(a[0],"raw").string,b=a[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,E={};switch(d){case"\\htmlClass":E.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":E.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":E.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A],R=P.indexOf("=");if(R<0)throw new ki("\\htmlData key/value '"+P+"' missing equals sign");var B=P.slice(0,R),j=P.slice(R+1);E["data-"+B.trim()]=j}y={command:"\\htmlData",attributes:E};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:E,body:P0(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,a)=>{var u=d1(i.body,a,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=di(d,u,a);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,a)=>L9(i.body,a)}),es({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:P0(a[0]),mathml:P0(a[1])}},htmlBuilder:(i,a)=>{var u=d1(i.html,a,!1);return P7(u)},mathmlBuilder:(i,a)=>L9(i.mathml,a)});var Kbe=function(a){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(a))return{number:+a,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(a);if(!u)throw new ki("Invalid size: '"+a+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!wze(d))throw new ki("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};es({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,a,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var E=Xo(u[0],"raw").string,_=E.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Kbe(R);break;case"height":v=Kbe(R);break;case"totalheight":b=Kbe(R);break;default:throw new ki("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var B=Xo(a[0],"url").url;return y===""&&(y=B,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:B})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:B}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,a)=>{var u=Uh(i.height,a),d=0;i.totalheight.number>0&&(d=Uh(i.totalheight,a)-u);var p=0;i.width.number>0&&(p=Uh(i.width,a));var v={height:Oi(u+d)};p>0&&(v.width=Oi(p)),d>0&&(v.verticalAlign=Oi(-d));var b=new jHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,a)=>{var u=new Si("mglyph",[]);u.setAttribute("alt",i.alt);var d=Uh(i.height,a),p=0;if(i.totalheight.number>0&&(p=Uh(i.totalheight,a)-d,u.setAttribute("valign",Oi(-p))),u.setAttribute("height",Oi(d+p)),i.width.number>0){var v=Uh(i.width,a);u.setAttribute("width",Oi(v))}return u.setAttribute("src",i.src),u}}),es({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i,p=Xo(a[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,a){return Ize(i.dimension,a)},mathmlBuilder(i,a){var u=Uh(i.dimension,a);return new Rze(u)}}),es({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,a)=>{var u;i.alignment==="clap"?(u=di([],[Du(i.body,a)]),u=di(["inner"],[u],a)):u=di(["inner"],[Du(i.body,a)]);var d=di(["fix"],[]),p=di([i.alignment],[u,d],a),v=di(["strut"]);return v.style.height=Oi(p.height+p.depth),p.depth&&(v.style.verticalAlign=Oi(-p.depth)),p.children.unshift(v),p=di(["thinbox"],[p],a),di(["mord","vbox"],[p],a)},mathmlBuilder:(i,a)=>{var u=new Si("mpadded",[Al(i.body,a)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),es({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,a){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),es({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,a){throw new ki("Mismatched "+i.funcName)}});var kqe=(i,a)=>{switch(a.style.size){case bo.DISPLAY.size:return i.display;case bo.TEXT.size:return i.text;case bo.SCRIPT.size:return i.script;case bo.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};es({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,a)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:P0(a[0]),text:P0(a[1]),script:P0(a[2]),scriptscript:P0(a[3])}},htmlBuilder:(i,a)=>{var u=kqe(i,a),d=d1(u,a,!1);return P7(d)},mathmlBuilder:(i,a)=>{var u=kqe(i,a);return L9(u,a)}});var Tqe=(i,a,u,d,p,v,b)=>{i=di([],[i]);var y=u&&D7(u),E,_;if(a){var A=Du(a,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=Du(u,d.havingStyle(p.sub()),d);E={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&E){var B=d.fontMetrics().bigOpSpacing5+E.elem.height+E.elem.depth+E.kern+i.depth+b;R=Mu({positionType:"bottom",positionData:B,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:E.elem,marginLeft:Oi(-v)},{type:"kern",size:E.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Oi(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]})}else if(E){var j=i.height-b;R=Mu({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:E.elem,marginLeft:Oi(-v)},{type:"kern",size:E.kern},{type:"elem",elem:i}]})}else if(_){var W=i.depth+b;R=Mu({positionType:"bottom",positionData:W,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Oi(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]})}else return i;var ee=[R];if(E&&v!==0&&!y){var ie=di(["mspace"],[],d);ie.style.marginRight=Oi(v),ee.unshift(ie)}return di(["mop","op-limits"],ee,d)},Eqe=new Set(["\\smallint"]),HD=(i,a)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Xo(i.base,"op"),p=!0):v=Xo(i,"op");var b=a.style,y=!1;b.size===bo.DISPLAY.size&&v.symbol&&!Eqe.has(v.name)&&(y=!0);var E;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),E=Rp(v.name,_,"math",a,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=E.italic,R=Nze(A+"Size"+(y?"2":"1"),a);E=Mu({positionType:"individualShift",children:[{type:"elem",elem:E,shift:0},{type:"elem",elem:R,shift:y?.08:0}]}),v.name="\\"+A,E.classes.unshift("mop"),E.italic=P}}else if(v.body){var B=d1(v.body,a,!0);B.length===1&&B[0]instanceof mm?(E=B[0],E.classes[0]="mop"):E=di(["mop"],B,a)}else{for(var j=[],W=1;W{var u;if(i.symbol)u=new Si("mo",[Vv(i.name,i.mode)]),Eqe.has(i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new Si("mo",wm(i.body,a));else{u=new Si("mi",[new B0(i.name.slice(1))]);var d=new Si("mo",[Vv("⁡","text")]);i.parentIsSupSub?u=new Si("mrow",[u,d]):u=Fze([u,d])}return u},NUt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};es({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=NUt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:P0(d)}},htmlBuilder:HD,mathmlBuilder:xR});var PUt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};es({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(i){var{parser:a,funcName:u}=i;return{type:"op",mode:a.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:a,funcName:u}=i;return{type:"op",mode:a.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(i){var{parser:a,funcName:u}=i,d=u;return d.length===1&&(d=PUt[d]),{type:"op",mode:a.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:HD,mathmlBuilder:xR});var Cqe=(i,a)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Xo(i.base,"operatorname"),p=!0):v=Xo(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R="text"in P?P.text:void 0;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),E=d1(y,a.withFont("mathrm"),!0),_=0;_{for(var u=wm(i.body,a.withFont("mathrm")),d=!0,p=0;pA.toText()).join("");u=[new B0(y)]}var E=new Si("mi",u);E.setAttribute("mathvariant","normal");var _=new Si("mo",[Vv("⁡","text")]);return i.parentIsSupSub?new Si("mrow",[E,_]):Fze([E,_])};es({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"operatorname",mode:u.mode,body:P0(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Cqe,mathmlBuilder:BUt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),qC({type:"ordgroup",htmlBuilder(i,a){return i.semisimple?P7(d1(i.body,a,!1)):di(["mord"],d1(i.body,a,!0),a)},mathmlBuilder(i,a){return L9(i.body,a,!0)}}),es({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,a){var{parser:u}=i,d=a[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,a){var u=Du(i.body,a.havingCrampedStyle()),d=zD("overline-line",a),p=a.fontMetrics().defaultRuleThickness,v=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]});return di(["mord","overline"],[v],a)},mathmlBuilder(i,a){var u=new Si("mo",[new B0("‾")]);u.setAttribute("stretchy","true");var d=new Si("mover",[Al(i.body,a),u]);return d.setAttribute("accent","true"),d}}),es({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"phantom",mode:u.mode,body:P0(d)}},htmlBuilder:(i,a)=>{var u=d1(i.body,a.withPhantom(),!1);return P7(u)},mathmlBuilder:(i,a)=>{var u=wm(i.body,a);return new Si("mphantom",u)}}),et("\\hphantom","\\smash{\\phantom{#1}}"),es({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,a)=>{var u=di(["inner"],[Du(i.body,a.withPhantom())]),d=di(["fix"],[]);return di(["mord","rlap"],[u,d],a)},mathmlBuilder:(i,a)=>{var u=wm(P0(i.body),a),d=new Si("mphantom",u),p=new Si("mpadded",[d]);return p.setAttribute("width","0px"),p}}),es({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,a){var{parser:u}=i,d=Xo(a[0],"size").value,p=a[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,a){var u=Du(i.body,a),d=Uh(i.dy,a);return Mu({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]})},mathmlBuilder(i,a){var u=new Si("mpadded",[Al(i.body,a)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),es({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(i){var{parser:a}=i;return{type:"internal",mode:a.mode}}}),es({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(i,a,u){var{parser:d}=i,p=u[0],v=Xo(a[0],"size"),b=Xo(a[1],"size");return{type:"rule",mode:d.mode,shift:p&&Xo(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,a){var u=di(["mord","rule"],[],a),d=Uh(i.width,a),p=Uh(i.height,a),v=i.shift?Uh(i.shift,a):0;return u.style.borderRightWidth=Oi(d),u.style.borderTopWidth=Oi(p),u.style.bottom=Oi(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*a.sizeMultiplier,u},mathmlBuilder(i,a){var u=Uh(i.width,a),d=Uh(i.height,a),p=i.shift?Uh(i.shift,a):0,v=a.color&&a.getColor()||"black",b=new Si("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",Oi(u)),b.setAttribute("height",Oi(d));var y=new Si("mpadded",[b]);return p>=0?y.setAttribute("height",Oi(p)):(y.setAttribute("height",Oi(p)),y.setAttribute("depth",Oi(-p))),y.setAttribute("voffset",Oi(p)),y}});function Sqe(i,a,u){for(var d=d1(i,a,!1),p=a.sizeMultiplier/u.sizeMultiplier,v=0;v{var u=a.havingSize(i.size);return Sqe(i.body,u,a)};es({type:"sizing",names:_qe,props:{numArgs:0,allowedInText:!0},handler:(i,a)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:_qe.indexOf(d)+1,body:v}},htmlBuilder:FUt,mathmlBuilder:(i,a)=>{var u=a.havingSize(i.size),d=wm(i.body,u),p=new Si("mstyle",d);return p.setAttribute("mathsize",Oi(u.sizeMultiplier)),p}}),es({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,a,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Xo(u[0],"ordgroup");if(b)for(var y="",E=0;E{var u=di([],[Du(i.body,a)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0),i.smashDepth&&(u.depth=0),i.smashHeight&&i.smashDepth)return di(["mord","smash"],[u],a);if(u.children)for(var d=0;d{var u=new Si("mpadded",[Al(i.body,a)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),es({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,a,u){var{parser:d}=i,p=u[0],v=a[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,a){var u=Du(i.body,a.havingCrampedStyle());u.height===0&&(u.height=a.fontMetrics().xHeight),u=qD(u,a);var d=a.fontMetrics(),p=d.defaultRuleThickness,v=p;a.style.idu.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=E.height-u.height-b-_;u.style.paddingLeft=Oi(A);var B=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:E},{type:"kern",size:_}]});if(i.index){var j=a.havingStyle(bo.SCRIPTSCRIPT),W=Du(i.index,j,a),ee=.6*(B.height-B.depth),ie=Mu({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:W}]}),oe=di(["root"],[ie]);return di(["mord","sqrt"],[oe,B],a)}else return di(["mord","sqrt"],[B],a)},mathmlBuilder(i,a){var{body:u,index:d}=i;return d?new Si("mroot",[Al(u,a),Al(d,a)]):new Si("msqrt",[Al(u,a)])}});var Aqe={display:bo.DISPLAY,text:bo.TEXT,script:bo.SCRIPT,scriptscript:bo.SCRIPTSCRIPT};es({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,a){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,a){var u=Aqe[i.style],d=a.havingStyle(u).withFont("");return Sqe(i.body,d,a)},mathmlBuilder(i,a){var u=Aqe[i.style],d=a.havingStyle(u),p=wm(i.body,d),v=new Si("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var RUt=function(a,u){var d=a.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===bo.DISPLAY.size||d.alwaysHandleSupSub);return p?HD:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===bo.DISPLAY.size||d.limits);return v?Cqe:null}else{if(d.type==="accent")return D7(d.base)?Nbe:null;if(d.type==="horizBrace"){var b=!a.sub;return b===d.isOver?xqe:null}else return null}else return null};qC({type:"supsub",htmlBuilder(i,a){var u=RUt(i,a);if(u)return u(i,a);var{base:d,sup:p,sub:v}=i,b=Du(d,a),y,E,_=a.fontMetrics(),A=0,P=0,R=d&&D7(d);if(p){var B=a.havingStyle(a.style.sup());y=Du(p,B,a),R||(A=b.height-B.fontMetrics().supDrop*B.sizeMultiplier/a.sizeMultiplier)}if(v){var j=a.havingStyle(a.style.sub());E=Du(v,j,a),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/a.sizeMultiplier)}var W;a.style===bo.DISPLAY?W=_.sup1:a.style.cramped?W=_.sup3:W=_.sup2;var ee=a.sizeMultiplier,ie=Oi(.5/_.ptPerEm/ee),oe=null;if(E){var be=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof mm||be)&&(oe=Oi(-b.italic))}var ge;if(y&&E){A=Math.max(A,W,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(E.height-P)0&&(A+=se,P-=se)}var de=[{type:"elem",elem:E,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];ge=Mu({positionType:"individualShift",children:de})}else if(E){P=Math.max(P,_.sub1,E.height-.8*_.xHeight);var X=[{type:"elem",elem:E,marginLeft:oe,marginRight:ie}];ge=Mu({positionType:"shift",positionData:P,children:X})}else if(y)A=Math.max(A,W,y.depth+.25*_.xHeight),ge=Mu({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]});else throw new Error("supsub must have either sup or sub.");var pe=Lbe(b,"right")||"mord";return di([pe],[b,di(["msupsub"],[ge])],a)},mathmlBuilder(i,a){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Al(i.base,a)];i.sub&&v.push(Al(i.sub,a)),i.sup&&v.push(Al(i.sup,a));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&a.style===bo.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(a.style===bo.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var E=i.base;E&&E.type==="op"&&E.limits&&(a.style===bo.DISPLAY||E.alwaysHandleSupSub)||E&&E.type==="operatorname"&&E.alwaysHandleSupSub&&(E.limits||a.style===bo.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(a.style===bo.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||a.style===bo.DISPLAY)?b="mover":b="msup"}return new Si(b,v)}}),qC({type:"atom",htmlBuilder(i,a){return Ebe(i.text,i.mode,a,["m"+i.family])},mathmlBuilder(i,a){var u=new Si("mo",[Vv(i.text,i.mode)]);if(i.family==="bin"){var d=Ibe(i,a);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var Lqe={mi:"italic",mn:"normal",mtext:"normal"};qC({type:"mathord",htmlBuilder(i,a){return wQ(i,a,"mathord")},mathmlBuilder(i,a){var u=new Si("mi",[Vv(i.text,i.mode,a)]),d=Ibe(i,a)||"italic";return d!==Lqe[u.type]&&u.setAttribute("mathvariant",d),u}}),qC({type:"textord",htmlBuilder(i,a){return wQ(i,a,"textord")},mathmlBuilder(i,a){var u=Vv(i.text,i.mode,a),d=Ibe(i,a)||"normal",p;return i.mode==="text"?p=new Si("mtext",[u]):/[0-9]/.test(i.text)?p=new Si("mn",[u]):i.text==="\\prime"?p=new Si("mo",[u]):p=new Si("mi",[u]),d!==Lqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Wbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Ybe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};qC({type:"spacing",htmlBuilder(i,a){if(Ybe.hasOwnProperty(i.text)){var u=Ybe[i.text].className||"";if(i.mode==="text"){var d=wQ(i,a,"textord");return d.classes.push(u),d}else return di(["mspace",u],[Ebe(i.text,i.mode,a)],a)}else{if(Wbe.hasOwnProperty(i.text))return di(["mspace",Wbe[i.text]],[],a);throw new ki('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,a){var u;if(Ybe.hasOwnProperty(i.text))u=new Si("mtext",[new B0(" ")]);else{if(Wbe.hasOwnProperty(i.text))return new Si("mspace");throw new ki('Unknown type of space "'+i.text+'"')}return u}});var Mqe=()=>{var i=new Si("mtd",[]);return i.setAttribute("width","50%"),i};qC({type:"tag",mathmlBuilder(i,a){var u=new Si("mtable",[new Si("mtr",[Mqe(),new Si("mtd",[L9(i.body,a)]),Mqe(),new Si("mtd",[L9(i.tag,a)])])]);return u.setAttribute("width","100%"),u}});var Dqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Iqe={"\\textbf":"textbf","\\textmd":"textmd"},jUt={"\\textit":"textit","\\textup":"textup"},Oqe=(i,a)=>{var u=i.font;if(u){if(Dqe[u])return a.withTextFontFamily(Dqe[u]);if(Iqe[u])return a.withTextFontWeight(Iqe[u]);if(u==="\\emph")return a.fontShape==="textit"?a.withTextFontShape("textup"):a.withTextFontShape("textit")}else return a;return a.withTextFontShape(jUt[u])};es({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"text",mode:u.mode,body:P0(p),font:d}},htmlBuilder(i,a){var u=Oqe(i,a),d=d1(i.body,u,!0);return di(["mord","text"],d,u)},mathmlBuilder(i,a){var u=Oqe(i,a);return L9(i.body,u)}}),es({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"underline",mode:u.mode,body:a[0]}},htmlBuilder(i,a){var u=Du(i.body,a),d=zD("underline-line",a),p=a.fontMetrics().defaultRuleThickness,v=Mu({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]});return di(["mord","underline"],[v],a)},mathmlBuilder(i,a){var u=new Si("mo",[new B0("‾")]);u.setAttribute("stretchy","true");var d=new Si("munder",[Al(i.body,a),u]);return d.setAttribute("accentunder","true"),d}}),es({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,a){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:a[0]}},htmlBuilder(i,a){var u=Du(i.body,a),d=a.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return Mu({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]})},mathmlBuilder(i,a){var u=new Si("mpadded",[Al(i.body,a)],["vcenter"]);return new Si("mrow",[u])}}),es({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,a,u){throw new ki("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,a){for(var u=Nqe(i),d=[],p=a.havingStyle(a.style.text()),v=0;vi.body.replace(/ /g,i.star?"␣":" "),D9=Pze,Pqe=`[ \r + ]`,$Ut="\\\\[a-zA-Z@]+",zUt="\\\\[^\uD800-\uDFFF]",qUt="("+$Ut+")"+Pqe+"*",HUt=`\\\\( +|[ \r ]+ +?)[ \r ]*`,Xbe="[̀-ͯ]",UUt=new RegExp(Xbe+"+$"),VUt="("+Pqe+"+)|"+(HUt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Xbe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Xbe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+qUt)+("|"+zUt+")");class Bqe{constructor(a,u){this.input=a,this.settings=u,this.tokenRegex=new RegExp(VUt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(a,u){this.catcodes[a]=u}lex(){var a=this.input,u=this.tokenRegex.lastIndex;if(u===a.length)return new ym("EOF",new W2(this,u,u));var d=this.tokenRegex.exec(a);if(d===null||d.index!==u)throw new ki("Unexpected character: '"+a[u]+"'",new ym(a[u],new W2(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=a.indexOf(` +`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=a.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=v+1,this.lex()}return new ym(p,new W2(this,u,this.tokenRegex.lastIndex))}}class GUt{constructor(a,u){a===void 0&&(a={}),u===void 0&&(u={}),this.current=u,this.builtins=a,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new ki("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var a=this.undefStack.pop();for(var u in a)a.hasOwnProperty(u)&&(a[u]==null?delete this.current[u]:this.current[u]=a[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(a){return this.current.hasOwnProperty(a)||this.builtins.hasOwnProperty(a)}get(a){return this.current.hasOwnProperty(a)?this.current[a]:this.builtins[a]}set(a,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p0&&(this.undefStack[this.undefStack.length-1][a]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(a)&&(v[a]=this.current[a])}u==null?delete this.current[a]:this.current[a]=u}}var KUt=hqe;et("\\noexpand",function(i){var a=i.popToken();return i.isExpandable(a.text)&&(a.noexpand=!0,a.treatAsRelax=!0),{tokens:[a],numArgs:0}}),et("\\expandafter",function(i){var a=i.popToken();return i.expandOnce(!0),{tokens:[a],numArgs:0}}),et("\\@firstoftwo",function(i){var a=i.consumeArgs(2);return{tokens:a[0],numArgs:0}}),et("\\@secondoftwo",function(i){var a=i.consumeArgs(2);return{tokens:a[1],numArgs:0}}),et("\\@ifnextchar",function(i){var a=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return a[0].length===1&&a[0][0].text===u.text?{tokens:a[1],numArgs:0}:{tokens:a[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var a=i.consumeArgs(2);return i.mode==="text"?{tokens:a[0],numArgs:0}:{tokens:a[1],numArgs:0}});var Fqe={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};et("\\char",function(i){var a=i.popToken(),u,d=0;if(a.text==="'")u=8,a=i.popToken();else if(a.text==='"')u=16,a=i.popToken();else if(a.text==="`")if(a=i.popToken(),a.text[0]==="\\")d=a.text.charCodeAt(1);else{if(a.text==="EOF")throw new ki("\\char` missing argument");d=a.text.charCodeAt(0)}else u=10;if(u){if(d=Fqe[a.text],d==null||d>=u)throw new ki("Invalid base-"+u+" digit "+a.text);for(var p;(p=Fqe[i.future().text])!=null&&p{var p=i.consumeArg().tokens;if(p.length!==1)throw new ki("\\newcommand's first argument must be a macro name");var v=p[0].text,b=i.isDefined(v);if(b&&!a)throw new ki("\\newcommand{"+v+"} attempting to redefine "+(v+"; use \\renewcommand"));if(!b&&!u)throw new ki("\\renewcommand{"+v+"} when command "+v+" does not yet exist; use \\newcommand");var y=0;if(p=i.consumeArg().tokens,p.length===1&&p[0].text==="["){for(var E="",_=i.expandNextToken();_.text!=="]"&&_.text!=="EOF";)E+=_.text,_=i.expandNextToken();if(!E.match(/^\s*[0-9]+\s*$/))throw new ki("Invalid number of arguments: "+E);y=parseInt(E),p=i.consumeArg().tokens}return b&&d||i.macros.set(v,{tokens:p,numArgs:y}),""};et("\\newcommand",i=>Qbe(i,!1,!0,!1)),et("\\renewcommand",i=>Qbe(i,!0,!1,!1)),et("\\providecommand",i=>Qbe(i,!0,!0,!0)),et("\\message",i=>{var a=i.consumeArgs(1)[0];return console.log(a.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var a=i.consumeArgs(1)[0];return console.error(a.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var a=i.popToken(),u=a.text;return console.log(a,i.macros.get(u),D9[u],vh.math[u],vh.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("ℬ","\\mathscr{B}"),et("ℰ","\\mathscr{E}"),et("ℱ","\\mathscr{F}"),et("ℋ","\\mathscr{H}"),et("ℐ","\\mathscr{I}"),et("ℒ","\\mathscr{L}"),et("ℳ","\\mathscr{M}"),et("ℛ","\\mathscr{R}"),et("ℭ","\\mathfrak{C}"),et("ℌ","\\mathfrak{H}"),et("ℨ","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),et("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),et("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Rqe={",":"\\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"},WUt=new Set(["bin","rel"]);et("\\dots",function(i){var a="\\dotso",u=i.expandAfterFuture().text;return u in Rqe?a=Rqe[u]:(u.slice(0,4)==="\\not"||u in vh.math&&WUt.has(vh.math[u].group))&&(a="\\dotsb"),a});var Jbe={")":!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};et("\\dotso",function(i){var a=i.future().text;return a in Jbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var a=i.future().text;return a in Jbe&&a!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var a=i.future().text;return a in Jbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new ki("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jqe=Oi(Y4["Main-Regular"]["T".charCodeAt(0)][1]-.7*Y4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var $qe=i=>a=>{var u=a.consumeArg().tokens,d=a.consumeArg().tokens,p=a.consumeArg().tokens,v=a.consumeArg().tokens,b=a.macros.get("|"),y=a.macros.get("\\|");a.macros.beginGroup();var E=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var B=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),B=!0)}return{tokens:B?p:d,numArgs:0}};a.macros.set("|",E(!1)),p.length&&a.macros.set("\\|",E(!0));var _=a.consumeArg().tokens,A=a.expandTokens([...v,..._,...u]);return a.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",$qe(!1)),et("\\bra@set",$qe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var zqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class YUt{constructor(a,u,d){this.settings=u,this.expansionCount=0,this.feed(a),this.macros=new GUt(KUt,u.macros),this.mode=d,this.stack=[]}feed(a){this.lexer=new Bqe(a,this.settings)}switchMode(a){this.mode=a}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(a){this.stack.push(a)}pushTokens(a){this.stack.push(...a)}scanArgument(a){var u,d,p;if(a){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new ym("EOF",d.loc)),this.pushTokens(p),new ym("",W2.range(u,d))}consumeSpaces(){for(;;){var a=this.future();if(a.text===" ")this.stack.pop();else break}}consumeArg(a){var u=[],d=a&&a.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new ki("Extra }",v)}else if(v.text==="EOF")throw new ki("Unexpected end of input in a macro argument, expected '"+(a&&d?a[y]:"}")+"'",v);if(a&&d)if((b===0||b===1&&a[y]==="{")&&v.text===a[y]){if(++y,y===a.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(a,u){if(u){if(u.length!==a+1)throw new ki("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;pthis.settings.maxExpand)throw new ki("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(a){var u=this.popToken(),d=u.text,p=u.noexpand?null:this._getExpansion(d);if(p==null||a&&p.unexpandable){if(a&&p==null&&d[0]==="\\"&&!this.isDefined(d))throw new ki("Undefined control sequence: "+d);return this.pushToken(u),!1}this.countExpansion(1);var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var E=v[y];if(E.text==="#"){if(y===0)throw new ki("Incomplete placeholder at end of macro body",E);if(E=v[--y],E.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(E.text))v.splice(y,2,...b[+E.text-1]);else throw new ki("Not a valid argument number",E)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var a=this.stack.pop();return a.treatAsRelax&&(a.text="\\relax"),a}}expandMacro(a){return this.macros.has(a)?this.expandTokens([new ym(a)]):void 0}expandTokens(a){var u=[],d=this.stack.length;for(this.pushTokens(a);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return this.countExpansion(u.length),u}expandMacroAsText(a){var u=this.expandMacro(a);return u&&u.map(d=>d.text).join("")}_getExpansion(a){var u=this.macros.get(a);if(u==null)return u;if(a.length===1){var d=this.lexer.catcodes[a];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.includes("#"))for(var b=p.replace(/##/g,"");b.includes("#"+(v+1));)++v;for(var y=new Bqe(p,this.settings),E=[],_=y.lex();_.text!=="EOF";)E.push(_),_=y.lex();E.reverse();var A={tokens:E,numArgs:v};return A}return p}isDefined(a){return this.macros.has(a)||D9.hasOwnProperty(a)||vh.math.hasOwnProperty(a)||vh.text.hasOwnProperty(a)||zqe.hasOwnProperty(a)}isExpandable(a){var u=this.macros.get(a);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:D9.hasOwnProperty(a)&&!D9[a].primitive}}var qqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,BQ=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","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Zbe={"́":{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"}},Hqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class FQ{constructor(a,u){this.mode="math",this.gullet=new YUt(a,u,this.mode),this.settings=u,this.leftrightDepth=0,this.nextToken=null}expect(a,u){if(u===void 0&&(u=!0),this.fetch().text!==a)throw new ki("Expected '"+a+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(a){this.mode=a,this.gullet.switchMode(a)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var a=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),a}finally{this.gullet.endGroups()}}subparse(a){var u=this.nextToken;this.consume(),this.gullet.pushToken(new ym("}")),this.gullet.pushTokens(a);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(a,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(FQ.endOfExpression.has(p.text)||u&&p.text===u||a&&D9[p.text]&&D9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(a){for(var u=-1,d,p=0;p=128)this.settings.strict&&(mze(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',a):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),a)),b={type:"textord",mode:"text",loc:W2.range(a),text:u};else return null;if(this.consume(),v)for(var P=0;P"u"&&(Es.yylloc={});var Kd=Es.yylloc;on.push(Kd);var qp=Es.options&&Es.options.ranges;typeof Ou.yy.parseError=="function"?this.parseError=Ou.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ul(){var Kh;return Kh=Ct.pop()||Es.lex()||Us,typeof Kh!="number"&&(Kh instanceof Array&&(Ct=Kh,Kh=Ct.pop()),Kh=Rn.symbols_[Kh]||Kh),Kh}for(var Ac,Jc,Ya,Ba,ha={},$o,Lc,Fa,Ra;;){if(Jc=zn[zn.length-1],this.defaultActions[Jc]?Ya=this.defaultActions[Jc]:((Ac===null||typeof Ac>"u")&&(Ac=Ul()),Ya=dn[Jc]&&dn[Jc][Ac]),typeof Ya>"u"||!Ya.length||!Ya[0]){var ma="";Ra=[];for($o in dn[Jc])this.terminals_[$o]&&$o>No&&Ra.push("'"+this.terminals_[$o]+"'");Es.showPosition?ma="Parse error on line "+(Io+1)+`: +`+Es.showPosition()+` +Expecting `+Ra.join(", ")+", got '"+(this.terminals_[Ac]||Ac)+"'":ma="Parse error on line "+(Io+1)+": Unexpected "+(Ac==Us?"end of input":"'"+(this.terminals_[Ac]||Ac)+"'"),this.parseError(ma,{text:Es.match,token:this.terminals_[Ac]||Ac,line:Es.yylineno,loc:Kd,expected:Ra})}if(Ya[0]instanceof Array&&Ya.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Jc+", token: "+Ac);switch(Ya[0]){case 1:zn.push(Ac),gt.push(Es.yytext),on.push(Es.yylloc),zn.push(Ya[1]),Ac=null,Oo=Es.yyleng,Ln=Es.yytext,Io=Es.yylineno,Kd=Es.yylloc;break;case 2:if(Lc=this.productions_[Ya[1]][1],ha.$=gt[gt.length-Lc],ha._$={first_line:on[on.length-(Lc||1)].first_line,last_line:on[on.length-1].last_line,first_column:on[on.length-(Lc||1)].first_column,last_column:on[on.length-1].last_column},qp&&(ha._$.range=[on[on.length-(Lc||1)].range[0],on[on.length-1].range[1]]),Ba=this.performAction.apply(ha,[Ln,Oo,Io,Ou.yy,Ya[1],gt,on].concat(uo)),typeof Ba<"u")return Ba;Lc&&(zn=zn.slice(0,-1*Lc*2),gt=gt.slice(0,-1*Lc),on=on.slice(0,-1*Lc)),zn.push(this.productions_[Ya[1]][0]),gt.push(ha.$),on.push(ha._$),Fa=dn[zn[zn.length-2]][zn[zn.length-1]],zn.push(Fa);break;case 3:return!0}}return!0}},Hs=function(){var Tr={EOF:1,parseError:function(Rn,zn){if(this.yy.parser)this.yy.parser.parseError(Rn,zn);else throw new Error(Rn)},setInput:function(On,Rn){return this.yy=Rn||this.yy||{},this._input=On,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},input:function(){var On=this._input[0];this.yytext+=On,this.yyleng++,this.offset++,this.match+=On,this.matched+=On;var Rn=On.match(/(?:\r\n?|\n).*/g);return Rn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),On},unput:function(On){var Rn=On.length,zn=On.split(/(?:\r\n?|\n)/g);this._input=On+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Rn),this.offset-=Rn;var Ct=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),zn.length-1&&(this.yylineno-=zn.length-1);var gt=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:zn?(zn.length===Ct.length?this.yylloc.first_column:0)+Ct[Ct.length-zn.length].length-zn[0].length:this.yylloc.first_column-Rn},this.options.ranges&&(this.yylloc.range=[gt[0],gt[0]+this.yyleng-Rn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(On){this.unput(this.match.slice(On))},pastInput:function(){var On=this.matched.substr(0,this.matched.length-this.match.length);return(On.length>20?"...":"")+On.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var On=this.match;return On.length<20&&(On+=this._input.substr(0,20-On.length)),(On.substr(0,20)+(On.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var On=this.pastInput(),Rn=new Array(On.length+1).join("-");return On+this.upcomingInput()+` +`+Rn+"^"},test_match:function(On,Rn){var zn,Ct,gt;if(this.options.backtrack_lexer&&(gt={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&&(gt.yylloc.range=this.yylloc.range.slice(0))),Ct=On[0].match(/(?:\r\n?|\n).*/g),Ct&&(this.yylineno+=Ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ct?Ct[Ct.length-1].length-Ct[Ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+On[0].length},this.yytext+=On[0],this.match+=On[0],this.matches=On,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(On[0].length),this.matched+=On[0],zn=this.performAction.call(this,this.yy,this,Rn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),zn)return zn;if(this._backtrack){for(var on in gt)this[on]=gt[on];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var On,Rn,zn,Ct;this._more||(this.yytext="",this.match="");for(var gt=this._currentRules(),on=0;onRn[0].length)){if(Rn=zn,Ct=on,this.options.backtrack_lexer){if(On=this.test_match(zn,gt[on]),On!==!1)return On;if(this._backtrack){Rn=!1;continue}else return!1}else if(!this.options.flex)break}return Rn?(On=this.test_match(Rn,gt[Ct]),On!==!1?On:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Rn=this.next();return Rn||this.lex()},begin:function(Rn){this.conditionStack.push(Rn)},popState:function(){var Rn=this.conditionStack.length-1;return Rn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Rn){return Rn=this.conditionStack.length-1-Math.abs(Rn||0),Rn>=0?this.conditionStack[Rn]:"INITIAL"},pushState:function(Rn){this.begin(Rn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Rn,zn,Ct,gt){switch(Ct){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}},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:[],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 Tr}();ia.lexer=Hs;function mo(){this.yy={}}return mo.prototype=ia,ia.Parser=mo,new mo}();jQ.parser=jQ;const JUt=jQ;let q3=[],I9=[""],jp="global",H3="",Z4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],kR=[],nme="",rme=!1,$Q=4,zQ=2;var Xqe;const ZUt=function(){return Xqe},eVt=function(i){Xqe=bh(i,qt())},tVt=function(i,a,u,d,p,v,b,y,E){if(i==null||a===void 0||a===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=kR.find(P=>P.from===a&&P.to===u);if(A?_=A:kR.push(_),_.type=i,_.from=a,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof E=="object"){let[P,R]=Object.entries(E)[0];_[P]=R}else _.link=E;_.wrap=O9()},nVt=function(i,a,u,d,p,v,b){if(a===null||u===null)return;let y={};const E=q3.find(_=>_.alias===a);if(E&&a===E.alias?y=E:(y.alias=a,q3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=jp,y.wrap=O9()},rVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=q3.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,q3.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.techn={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];E[A]=P}else E.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.wrap=O9(),E.typeC4Shape={text:i},E.parentBoundary=jp},iVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=q3.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,q3.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.techn={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];E[A]=P}else E.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.wrap=O9(),E.typeC4Shape={text:i},E.parentBoundary=jp},sVt=function(i,a,u,d,p){if(i===null||a===null)return;let v={};const b=Z4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Z4.push(v)),a==null?v.label={text:""}:v.label={text:a},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,E]=Object.entries(u)[0];v[y]={text:E}}else v.type={text:u};if(typeof d=="object"){let[y,E]=Object.entries(d)[0];v[y]=E}else v.tags=d;if(typeof p=="object"){let[y,E]=Object.entries(p)[0];v[y]=E}else v.link=p;v.parentBoundary=jp,v.wrap=O9(),H3=jp,jp=i,I9.push(H3)},aVt=function(i,a,u,d,p){if(i===null||a===null)return;let v={};const b=Z4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Z4.push(v)),a==null?v.label={text:""}:v.label={text:a},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,E]=Object.entries(u)[0];v[y]={text:E}}else v.type={text:u};if(typeof d=="object"){let[y,E]=Object.entries(d)[0];v[y]=E}else v.tags=d;if(typeof p=="object"){let[y,E]=Object.entries(p)[0];v[y]=E}else v.link=p;v.parentBoundary=jp,v.wrap=O9(),H3=jp,jp=i,I9.push(H3)},oVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=Z4.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,Z4.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.type={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.nodeType=i,E.parentBoundary=jp,E.wrap=O9(),H3=jp,jp=a,I9.push(H3)},cVt=function(){jp=H3,I9.pop(),H3=I9.pop(),I9.push(H3)},uVt=function(i,a,u,d,p,v,b,y,E,_,A){let P=q3.find(R=>R.alias===a);if(!(P===void 0&&(P=Z4.find(R=>R.alias===a),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,B]=Object.entries(u)[0];P[R]=B}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,B]=Object.entries(d)[0];P[R]=B}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,B]=Object.entries(p)[0];P[R]=B}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];P[R]=B}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];P[R]=B}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,B]=Object.entries(y)[0];P[R]=B}else P.sprite=y;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];P[R]=B}else P.techn=E;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];P[R]=B}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,B]=Object.entries(A)[0];P[R]=B}else P.legendSprite=A}},lVt=function(i,a,u,d,p,v,b){const y=kR.find(E=>E.from===a&&E.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[E,_]=Object.entries(d)[0];y[E]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[E,_]=Object.entries(p)[0];y[E]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[E,_]=Object.entries(v)[0];y[E]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[E,_]=Object.entries(b)[0];y[E]=parseInt(_)}else y.offsetY=parseInt(b)}},hVt=function(i,a,u){let d=$Q,p=zQ;if(typeof a=="object"){const v=Object.values(a)[0];d=parseInt(v)}else d=parseInt(a);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&($Q=d),p>=1&&(zQ=p)},fVt=function(){return $Q},dVt=function(){return zQ},gVt=function(){return jp},pVt=function(){return H3},Qqe=function(i){return i==null?q3:q3.filter(a=>a.parentBoundary===i)},bVt=function(i){return q3.find(a=>a.alias===i)},mVt=function(i){return Object.keys(Qqe(i))},Jqe=function(i){return i==null?Z4:Z4.filter(a=>a.parentBoundary===i)},vVt=Jqe,wVt=function(){return kR},yVt=function(){return nme},xVt=function(i){rme=i},O9=function(){return rme},ime={addPersonOrSystem:nVt,addPersonOrSystemBoundary:sVt,addContainer:rVt,addContainerBoundary:aVt,addComponent:iVt,addDeploymentNode:oVt,popBoundaryParseStack:cVt,addRel:tVt,updateElStyle:uVt,updateRelStyle:lVt,updateLayoutConfig:hVt,autoWrap:O9,setWrap:xVt,getC4ShapeArray:Qqe,getC4Shape:bVt,getC4ShapeKeys:mVt,getBoundaries:Jqe,getBoundarys:vVt,getCurrentBoundaryParse:gVt,getParentBoundaryParse:pVt,getRels:wVt,getTitle:yVt,getC4Type:ZUt,getC4ShapeInRow:fVt,getC4BoundaryInRow:dVt,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,getConfig:()=>qt().c4,clear:function(){q3=[],Z4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H3="",jp="global",I9=[""],kR=[],I9=[""],nme="",rme=!1,$Q=4,zQ=2},LINETYPE:{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},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){nme=bh(i,qt())},setC4Type:eVt},qQ=(i,a)=>{const u=i.append("rect");if(u.attr("x",a.x),u.attr("y",a.y),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("width",a.width),u.attr("height",a.height),a.name&&u.attr("name",a.name),a.rx!==void 0&&u.attr("rx",a.rx),a.ry!==void 0&&u.attr("ry",a.ry),a.attrs!==void 0)for(const d in a.attrs)u.attr(d,a.attrs[d]);return a.class!==void 0&&u.attr("class",a.class),u},Zqe=(i,a)=>{const u={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};qQ(i,u).lower()},kVt=(i,a)=>{const u=a.text.replace(bD," "),d=i.append("text");d.attr("x",a.x),d.attr("y",a.y),d.attr("class","legend"),d.style("text-anchor",a.anchor),a.class!==void 0&&d.attr("class",a.class);const p=d.append("tspan");return p.attr("x",a.x+a.textMargin*2),p.text(u),d},TVt=(i,a,u,d)=>{const p=i.append("image");p.attr("x",a),p.attr("y",u);const v=b9.sanitizeUrl(d);p.attr("xlink:href",v)},EVt=(i,a,u,d)=>{const p=i.append("use");p.attr("x",a),p.attr("y",u);const v=b9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},HC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),sme=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ame=function(i,a){return qQ(i,a)},eHe=function(i,a,u,d,p,v){const b=i.append("image");b.attr("width",a),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:b9.sanitizeUrl(v);b.attr("xlink:href",y)},CVt=(i,a,u)=>{const d=i.append("g");let p=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",E=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();R7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+E,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),R7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+E,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},SVt=function(i,a,u){const d=i.append("g");let p=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(y={"stroke-width":1});let E={x:a.x,y:a.y,fill:p,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:y};ame(d,E);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,R7(u)(a.label.text,d,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,R7(u)(a.type.text,d,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,R7(u)(a.descr.text,d,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},_Vt=function(i,a,u){var P;let d=a.bgColor?a.bgColor:u[a.typeC4Shape.text+"_bg_color"],p=a.borderColor?a.borderColor:u[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="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":b="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 y=i.append("g");y.attr("class","person-man");const E=HC();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":E.x=a.x,E.y=a.y,E.fill=d,E.width=a.width,E.height=a.height,E.stroke=p,E.rx=2.5,E.ry=2.5,E.attrs={"stroke-width":.5},ame(y,E);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=BVt(u,a.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":eHe(y,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let A=u[a.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,R7(u)(a.label.text,y,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},A),A=u[a.typeC4Shape.text+"Font"](),A.fontColor=v,a.techn&&((P=a.techn)==null?void 0:P.text)!==""?R7(u)(a.techn.text,y,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},A):a.type&&a.type.text!==""&&R7(u)(a.type.text,y,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},A),a.descr&&a.descr.text!==""&&(A=u.personFont(),A.fontColor=v,R7(u)(a.descr.text,y,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},A)),a.height},AVt=function(i){i.append("defs").append("symbol").attr("id","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")},LVt=function(i){i.append("defs").append("symbol").attr("id","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")},MVt=function(i){i.append("defs").append("symbol").attr("id","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")},DVt=function(i){i.append("defs").append("marker").attr("id","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")},IVt=function(i){i.append("defs").append("marker").attr("id","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")},OVt=function(i){i.append("defs").append("marker").attr("id","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")},NVt=function(i){i.append("defs").append("marker").attr("id","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)},PVt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.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"),u.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")},BVt=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),R7=function(){function i(p,v,b,y,E,_,A){const P=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function a(p,v,b,y,E,_,A,P){const{fontSize:R,fontFamily:B,fontWeight:j}=P,W=p.split(oi.lineBreakRegex);for(let ee=0;ee=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>tHe)&&(u=this.nextData.startx+a.margin+$s.nextLinePaddingX,p=this.nextData.stopy+a.margin*2,this.nextData.stopx=d=u+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+a.height,this.nextData.cnt=1),a.x=u,a.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){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},cme(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const cme=function(i){id($s,i),i.fontFamily&&($s.personFontFamily=$s.systemFontFamily=$s.messageFontFamily=i.fontFamily),i.fontSize&&($s.personFontSize=$s.systemFontSize=$s.messageFontSize=i.fontSize),i.fontWeight&&($s.personFontWeight=$s.systemFontWeight=$s.messageFontWeight=i.fontWeight)},TR=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),VQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),FVt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function U3(i,a,u,d,p){if(!a[i].width)if(u)a[i].text=zje(a[i].text,p,d),a[i].textLines=a[i].text.split(oi.lineBreakRegex).length,a[i].width=p,a[i].height=F2e(a[i].text,d);else{let v=a[i].text.split(oi.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const y of v)a[i].width=Math.max(G4(y,d),a[i].width),b=F2e(y,d),a[i].height=a[i].height+b}}const rHe=function(i,a,u){a.x=u.data.startx,a.y=u.data.starty,a.width=u.data.stopx-u.data.startx,a.height=u.data.stopy-u.data.starty,a.label.y=$s.c4ShapeMargin-35;let d=a.wrap&&$s.wrap,p=VQ($s);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=G4(a.label.text,p);U3("label",a,d,p,v),e5.drawBoundary(i,a,$s)},iHe=function(i,a,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=TR($s,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=G4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=$s.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let E=b.wrap&&$s.wrap,_=$s.width-$s.c4ShapePadding*2,A=TR($s,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",U3("label",b,E,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=TR($s,b.typeC4Shape.text);U3("type",b,E,B,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=TR($s,b.techn.text);U3("techn",b,E,B,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=TR($s,b.typeC4Shape.text);U3("descr",b,E,B,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+$s.c4ShapePadding,b.width=Math.max(b.width||$s.width,R,$s.width),b.height=Math.max(b.height||$s.height,P,$s.height),b.margin=b.margin||$s.c4ShapeMargin,i.insert(b),e5.drawC4Shape(a,b,$s)}i.bumpLastMargin($s.c4ShapeMargin)};let Gv=class{constructor(a,u){this.x=a,this.y=u}},sHe=function(i,a){let u=i.x,d=i.y,p=a.x,v=a.y,b=u+i.width/2,y=d+i.height/2,E=Math.abs(u-p),_=Math.abs(d-v),A=_/E,P=i.height/i.width,R=null;return d==v&&up?R=new Gv(u,y):u==p&&dv&&(R=new Gv(b,d)),u>p&&d=A?R=new Gv(u,y+A*i.width/2):R=new Gv(b-E/_*i.height/2,d+i.height):u=A?R=new Gv(u+i.width,y+A*i.width/2):R=new Gv(b+E/_*i.height/2,d+i.height):uv?P>=A?R=new Gv(u+i.width,y-A*i.width/2):R=new Gv(b+i.height/2*E/_,d):u>p&&d>v&&(P>=A?R=new Gv(u,y-i.width/2*A):R=new Gv(b-i.height/2*E/_,d)),R},RVt=function(i,a){let u={x:0,y:0};u.x=a.x+a.width/2,u.y=a.y+a.height/2;let d=sHe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=sHe(a,u);return{startPoint:d,endPoint:p}};const jVt=function(i,a,u,d){let p=0;for(let v of a){p=p+1;let b=v.wrap&&$s.wrap,y=FVt($s);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=G4(v.label.text,y);U3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=G4(v.techn.text,y),U3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=G4(v.descr.text,y),U3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=RVt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}e5.drawRels(i,a,$s)};function aHe(i,a,u,d,p){let v=new nHe(p);v.data.widthLimit=u.data.widthLimit/Math.min(ome,d.length);for(let[b,y]of d.entries()){let E=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=E,E=y.image.Y+y.image.height);let _=y.wrap&&$s.wrap,A=VQ($s);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",U3("label",y,_,A,v.data.widthLimit),y.label.Y=E+8,E=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=VQ($s);U3("type",y,_,j,v.data.widthLimit),y.type.Y=E+5,E=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=VQ($s);j.fontSize=j.fontSize-2,U3("descr",y,_,j,v.data.widthLimit),y.descr.Y=E+20,E=y.descr.Y+y.descr.height}if(b==0||b%ome===0){let j=u.data.startx+$s.diagramMarginX,W=u.data.stopy+$s.diagramMarginY+E;v.setData(j,j,W,W)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+$s.diagramMarginX:v.data.startx,W=v.data.starty;v.setData(j,j,W,W)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&iHe(v,i,P,R),a=y.alias;let B=p.db.getBoundarys(a);B.length>0&&aHe(i,a,v,B,p),y.alias!=="global"&&rHe(i,y,v),u.data.stopy=Math.max(v.data.stopy+$s.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+$s.c4ShapeMargin,u.data.stopx),HQ=Math.max(HQ,u.data.stopx),UQ=Math.max(UQ,u.data.stopy)}}const oHe={drawPersonOrSystemArray:iHe,drawBoundary:rHe,setConf:cme,draw:function(i,a,u,d){$s=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const b=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap($s.wrap),tHe=y.getC4ShapeInRow(),ome=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify($s,null,2)}`);const E=p==="sandbox"?b.select(`[id="${a}"]`):Dr(`[id="${a}"]`);e5.insertComputerIcon(E),e5.insertDatabaseIcon(E),e5.insertClockIcon(E);let _=new nHe(d);_.setData($s.diagramMarginX,$s.diagramMarginX,$s.diagramMarginY,$s.diagramMarginY),_.data.widthLimit=screen.availWidth,HQ=$s.diagramMarginX,UQ=$s.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");aHe(E,"",_,P,d),e5.insertArrowHead(E),e5.insertArrowEnd(E),e5.insertArrowCrossHead(E),e5.insertArrowFilledHead(E),jVt(E,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=HQ,_.data.stopy=UQ;const R=_.data;let j=R.stopy-R.starty+2*$s.diagramMarginY;const ee=R.stopx-R.startx+2*$s.diagramMarginX;A&&E.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*$s.diagramMarginX).attr("y",R.starty+$s.diagramMarginY),Fg(E,j,ee,$s.useMaxWidth);const ie=A?60:0;E.attr("viewBox",R.startx-$s.diagramMarginX+" -"+($s.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},$Vt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:JUt,db:ime,renderer:oHe,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:a})=>{oHe.setConf(i),ime.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var ume=function(){var i=function(Qo,Hi,Ui,zs){for(Ui=Ui||{},zs=Qo.length;zs--;Ui[Qo[zs]]=Hi);return Ui},a=[1,4],u=[1,3],d=[1,5],p=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],y=[1,14],E=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],B=[1,27],j=[1,49],W=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],be=[1,32],ge=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],pe=[1,50],G=[1,45],xe=[1,51],U=[1,52],Be=[1,34],Pe=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ke=[1,61],Ke=[1,60],zt=[1,62],Ne=[8,9,11,73,75],pn=[1,88],Tt=[1,93],Et=[1,92],Wt=[1,89],un=[1,85],yt=[1,91],Bt=[1,87],Ze=[1,94],Dt=[1,90],kt=[1,95],Nn=[1,86],ht=[8,9,10,11,73,75],qr=[8,9,10,11,44,73,75],xt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Ri=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],wi=[42,58,86,99,102,103,106,108,111,112,113],ia=[1,121],Hs=[1,120],mo=[1,128],Tr=[1,142],On=[1,143],Rn=[1,144],zn=[1,145],Ct=[1,130],gt=[1,132],on=[1,136],dn=[1,137],Ln=[1,138],Io=[1,139],Oo=[1,140],No=[1,141],Us=[1,146],uo=[1,147],Es=[1,126],Ou=[1,127],_c=[1,134],Kd=[1,129],qp=[1,133],Ul=[1,131],Ac=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Jc=[1,149],Ya=[8,9,11],Ba=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ha=[1,169],$o=[1,165],Lc=[1,166],Fa=[1,170],Ra=[1,167],ma=[1,168],Kh=[75,113,116],Po=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Hp=[10,103],Ug=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],od=[1,235],cd=[1,233],w1=[1,237],kh=[1,231],Wd=[1,232],Yd=[1,234],Xd=[1,236],Zf=[1,238],Up=[1,255],u5=[8,9,11,103],bs=[8,9,10,11,58,81,102,103,106,107,108,109],Vt={trace:function(){},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,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$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",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},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],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,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],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Hi,Ui,zs,gi,Bo,Ot,zu){var Gt=Ot.length-1;switch(Bo){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Gt])||Ot[Gt].length>0)&&Ot[Gt-1].push(Ot[Gt]),this.$=Ot[Gt-1];break;case 4:case 176:this.$=Ot[Gt];break;case 11:gi.setDirection("TB"),this.$="TB";break;case 12:gi.setDirection(Ot[Gt-1]),this.$=Ot[Gt-1];break;case 27:this.$=Ot[Gt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=gi.addSubGraph(Ot[Gt-6],Ot[Gt-1],Ot[Gt-4]);break;case 34:this.$=gi.addSubGraph(Ot[Gt-3],Ot[Gt-1],Ot[Gt-3]);break;case 35:this.$=gi.addSubGraph(void 0,Ot[Gt-1],void 0);break;case 37:this.$=Ot[Gt].trim(),gi.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Gt].trim(),gi.setAccDescription(this.$);break;case 43:gi.addLink(Ot[Gt-2].stmt,Ot[Gt],Ot[Gt-1]),this.$={stmt:Ot[Gt],nodes:Ot[Gt].concat(Ot[Gt-2].nodes)};break;case 44:gi.addLink(Ot[Gt-3].stmt,Ot[Gt-1],Ot[Gt-2]),this.$={stmt:Ot[Gt-1],nodes:Ot[Gt-1].concat(Ot[Gt-3].nodes)};break;case 45:this.$={stmt:Ot[Gt-1],nodes:Ot[Gt-1]};break;case 46:this.$={stmt:Ot[Gt],nodes:Ot[Gt]};break;case 47:this.$=[Ot[Gt]];break;case 48:this.$=Ot[Gt-4].concat(Ot[Gt]);break;case 49:this.$=Ot[Gt];break;case 50:this.$=Ot[Gt-2],gi.setClass(Ot[Gt-2],Ot[Gt]);break;case 51:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"square");break;case 52:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"doublecircle");break;case 53:this.$=Ot[Gt-5],gi.addVertex(Ot[Gt-5],Ot[Gt-2],"circle");break;case 54:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"ellipse");break;case 55:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"stadium");break;case 56:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"subroutine");break;case 57:this.$=Ot[Gt-7],gi.addVertex(Ot[Gt-7],Ot[Gt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Gt-5],Ot[Gt-3]]]));break;case 58:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"cylinder");break;case 59:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"round");break;case 60:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"diamond");break;case 61:this.$=Ot[Gt-5],gi.addVertex(Ot[Gt-5],Ot[Gt-2],"hexagon");break;case 62:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"odd");break;case 63:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"trapezoid");break;case 64:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"inv_trapezoid");break;case 65:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"lean_right");break;case 66:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"lean_left");break;case 67:this.$=Ot[Gt],gi.addVertex(Ot[Gt]);break;case 68:Ot[Gt-1].text=Ot[Gt],this.$=Ot[Gt-1];break;case 69:case 70:Ot[Gt-2].text=Ot[Gt-1],this.$=Ot[Gt-2];break;case 71:this.$=Ot[Gt];break;case 72:var Wh=gi.destructLink(Ot[Gt],Ot[Gt-2]);this.$={type:Wh.type,stroke:Wh.stroke,length:Wh.length,text:Ot[Gt-1]};break;case 73:this.$={text:Ot[Gt],type:"text"};break;case 74:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 75:this.$={text:Ot[Gt],type:"string"};break;case 76:this.$={text:Ot[Gt],type:"markdown"};break;case 77:var Wh=gi.destructLink(Ot[Gt]);this.$={type:Wh.type,stroke:Wh.stroke,length:Wh.length};break;case 78:this.$=Ot[Gt-1];break;case 79:this.$={text:Ot[Gt],type:"text"};break;case 80:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 81:this.$={text:Ot[Gt],type:"string"};break;case 82:case 97:this.$={text:Ot[Gt],type:"markdown"};break;case 94:this.$={text:Ot[Gt],type:"text"};break;case 95:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 96:this.$={text:Ot[Gt],type:"text"};break;case 98:this.$=Ot[Gt-4],gi.addClass(Ot[Gt-2],Ot[Gt]);break;case 99:this.$=Ot[Gt-4],gi.setClass(Ot[Gt-2],Ot[Gt]);break;case 100:case 108:this.$=Ot[Gt-1],gi.setClickEvent(Ot[Gt-1],Ot[Gt]);break;case 101:case 109:this.$=Ot[Gt-3],gi.setClickEvent(Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-3],Ot[Gt]);break;case 102:this.$=Ot[Gt-2],gi.setClickEvent(Ot[Gt-2],Ot[Gt-1],Ot[Gt]);break;case 103:this.$=Ot[Gt-4],gi.setClickEvent(Ot[Gt-4],Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-4],Ot[Gt]);break;case 104:this.$=Ot[Gt-2],gi.setLink(Ot[Gt-2],Ot[Gt]);break;case 105:this.$=Ot[Gt-4],gi.setLink(Ot[Gt-4],Ot[Gt-2]),gi.setTooltip(Ot[Gt-4],Ot[Gt]);break;case 106:this.$=Ot[Gt-4],gi.setLink(Ot[Gt-4],Ot[Gt-2],Ot[Gt]);break;case 107:this.$=Ot[Gt-6],gi.setLink(Ot[Gt-6],Ot[Gt-4],Ot[Gt]),gi.setTooltip(Ot[Gt-6],Ot[Gt-2]);break;case 110:this.$=Ot[Gt-1],gi.setLink(Ot[Gt-1],Ot[Gt]);break;case 111:this.$=Ot[Gt-3],gi.setLink(Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-3],Ot[Gt]);break;case 112:this.$=Ot[Gt-3],gi.setLink(Ot[Gt-3],Ot[Gt-2],Ot[Gt]);break;case 113:this.$=Ot[Gt-5],gi.setLink(Ot[Gt-5],Ot[Gt-4],Ot[Gt]),gi.setTooltip(Ot[Gt-5],Ot[Gt-2]);break;case 114:this.$=Ot[Gt-4],gi.addVertex(Ot[Gt-2],void 0,void 0,Ot[Gt]);break;case 115:this.$=Ot[Gt-4],gi.updateLink([Ot[Gt-2]],Ot[Gt]);break;case 116:this.$=Ot[Gt-4],gi.updateLink(Ot[Gt-2],Ot[Gt]);break;case 117:this.$=Ot[Gt-8],gi.updateLinkInterpolate([Ot[Gt-6]],Ot[Gt-2]),gi.updateLink([Ot[Gt-6]],Ot[Gt]);break;case 118:this.$=Ot[Gt-8],gi.updateLinkInterpolate(Ot[Gt-6],Ot[Gt-2]),gi.updateLink(Ot[Gt-6],Ot[Gt]);break;case 119:this.$=Ot[Gt-6],gi.updateLinkInterpolate([Ot[Gt-4]],Ot[Gt]);break;case 120:this.$=Ot[Gt-6],gi.updateLinkInterpolate(Ot[Gt-4],Ot[Gt]);break;case 121:case 123:this.$=[Ot[Gt]];break;case 122:case 124:Ot[Gt-2].push(Ot[Gt]),this.$=Ot[Gt-2];break;case 126:this.$=Ot[Gt-1]+Ot[Gt];break;case 174:this.$=Ot[Gt];break;case 175:this.$=Ot[Gt-1]+""+Ot[Gt];break;case 177:this.$=Ot[Gt-1]+""+Ot[Gt];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:a,10:u,12:d},{4:8,9:a,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:zt,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:zt,21:66},{8:ke,9:Ke,11:zt,21:67},{8:ke,9:Ke,11:zt,21:68},{8:ke,9:Ke,11:zt,21:69},{8:ke,9:Ke,11:zt,21:70},{8:ke,9:Ke,10:[1,71],11:zt,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Ne,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:pn,42:Tt,58:Et,77:[1,83],86:Wt,92:[1,80],94:[1,81],98:82,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(qr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(xt,[2,174]),i(xt,[2,135]),i(xt,[2,136]),i(xt,[2,137]),i(xt,[2,138]),i(xt,[2,139]),i(xt,[2,140]),i(xt,[2,141]),i(xt,[2,142]),i(xt,[2,143]),i(xt,[2,144]),i(xt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(Ri,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(wi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:ia,116:Hs},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:mo,12:Tr,14:On,27:Rn,28:122,32:zn,42:Ct,58:gt,73:on,77:[1,124],78:[1,125],80:135,81:dn,82:Ln,83:Io,84:Oo,85:No,86:Us,87:uo,88:123,102:Es,106:Ou,108:_c,111:Kd,112:qp,113:Ul},i(Ac,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Ne,[2,45],{42:Jc}),{42:j,45:150,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{42:j,45:155,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ya,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Ya,[2,108],{117:160,10:[1,159],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,110],{10:[1,161]}),i(Ba,[2,176]),i(Ba,[2,163]),i(Ba,[2,164]),i(Ba,[2,165]),i(Ba,[2,166]),i(Ba,[2,167]),i(Ba,[2,168]),i(Ba,[2,169]),i(Ba,[2,170]),i(Ba,[2,171]),i(Ba,[2,172]),i(Ba,[2,173]),{42:j,45:162,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{30:163,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:171,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:173,48:[1,172],65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:174,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:175,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:176,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{106:[1,177]},{30:178,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:179,63:[1,180],65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:181,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:182,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:183,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(xt,[2,175]),i(p,[2,20]),i(Ri,[2,25]),i(Ne,[2,43],{18:184,10:Se}),i(wi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{75:[1,188],76:189,113:ia,116:Hs},i(Kh,[2,73]),i(Kh,[2,75]),i(Kh,[2,76]),i(Kh,[2,161]),i(Kh,[2,162]),{8:ke,9:Ke,10:mo,11:zt,12:Tr,14:On,21:191,27:Rn,29:[1,190],32:zn,42:Ct,58:gt,73:on,80:135,81:dn,82:Ln,83:Io,84:Oo,85:No,86:Us,87:uo,88:192,102:Es,106:Ou,108:_c,111:Kd,112:qp,113:Ul},i(Po,[2,94]),i(Po,[2,96]),i(Po,[2,97]),i(Po,[2,150]),i(Po,[2,151]),i(Po,[2,152]),i(Po,[2,153]),i(Po,[2,154]),i(Po,[2,155]),i(Po,[2,156]),i(Po,[2,157]),i(Po,[2,158]),i(Po,[2,159]),i(Po,[2,160]),i(Po,[2,83]),i(Po,[2,84]),i(Po,[2,85]),i(Po,[2,86]),i(Po,[2,87]),i(Po,[2,88]),i(Po,[2,89]),i(Po,[2,90]),i(Po,[2,91]),i(Po,[2,92]),i(Po,[2,93]),{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(Hp,[2,121]),{10:[1,199],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,200],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{77:[1,201]},i(Ya,[2,102],{10:[1,202]}),i(Ya,[2,104],{10:[1,203]}),{77:[1,204]},i(Ba,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),{31:[1,207],65:ha,79:208,113:Fa,114:Ra,115:ma},i(Ug,[2,79]),i(Ug,[2,81]),i(Ug,[2,82]),i(Ug,[2,146]),i(Ug,[2,147]),i(Ug,[2,148]),i(Ug,[2,149]),{47:[1,209],65:ha,79:208,113:Fa,114:Ra,115:ma},{30:210,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{49:[1,211],65:ha,79:208,113:Fa,114:Ra,115:ma},{51:[1,212],65:ha,79:208,113:Fa,114:Ra,115:ma},{53:[1,213],65:ha,79:208,113:Fa,114:Ra,115:ma},{55:[1,214],65:ha,79:208,113:Fa,114:Ra,115:ma},{58:[1,215]},{62:[1,216],65:ha,79:208,113:Fa,114:Ra,115:ma},{64:[1,217],65:ha,79:208,113:Fa,114:Ra,115:ma},{30:218,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{31:[1,219],65:ha,79:208,113:Fa,114:Ra,115:ma},{65:ha,67:[1,220],69:[1,221],79:208,113:Fa,114:Ra,115:ma},{65:ha,67:[1,223],69:[1,222],79:208,113:Fa,114:Ra,115:ma},i(Ne,[2,44],{42:Jc}),i(wi,[2,70]),i(wi,[2,69]),{60:[1,224],65:ha,79:208,113:Fa,114:Ra,115:ma},i(wi,[2,72]),i(Kh,[2,74]),{30:225,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(Ac,v,{5:226}),i(Po,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{10:od,58:cd,81:w1,89:228,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:239,101:[1,240],102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:241,101:[1,242],102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{102:[1,243]},{10:od,58:cd,81:w1,89:244,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{42:j,45:245,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ya,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Ya,[2,109]),i(Ya,[2,111],{10:[1,249]}),i(Ya,[2,112]),i(qr,[2,51]),i(Ug,[2,80]),i(qr,[2,52]),{49:[1,250],65:ha,79:208,113:Fa,114:Ra,115:ma},i(qr,[2,59]),i(qr,[2,54]),i(qr,[2,55]),i(qr,[2,56]),{106:[1,251]},i(qr,[2,58]),i(qr,[2,60]),{64:[1,252],65:ha,79:208,113:Fa,114:Ra,115:ma},i(qr,[2,62]),i(qr,[2,63]),i(qr,[2,65]),i(qr,[2,64]),i(qr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ha,79:208,113:Fa,114:Ra,115:ma},{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},i(ht,[2,48]),i(Ya,[2,114],{103:Up}),i(u5,[2,123],{105:256,10:od,58:cd,81:w1,102:kh,106:Wd,107:Yd,108:Xd,109:Zf}),i(bs,[2,125]),i(bs,[2,127]),i(bs,[2,128]),i(bs,[2,129]),i(bs,[2,130]),i(bs,[2,131]),i(bs,[2,132]),i(bs,[2,133]),i(bs,[2,134]),i(Ya,[2,115],{103:Up}),{10:[1,257]},i(Ya,[2,116],{103:Up}),{10:[1,258]},i(Hp,[2,122]),i(Ya,[2,98],{103:Up}),i(Ya,[2,99],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(Ya,[2,103]),i(Ya,[2,105],{10:[1,259]}),i(Ya,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:zt,21:264},i(Ce,[2,34]),{10:od,58:cd,81:w1,102:kh,104:265,105:230,106:Wd,107:Yd,108:Xd,109:Zf},i(bs,[2,126]),{14:pn,42:Tt,58:Et,86:Wt,98:266,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},{14:pn,42:Tt,58:Et,86:Wt,98:267,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},{95:[1,268]},i(Ya,[2,113]),i(qr,[2,53]),{30:269,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(qr,[2,61]),i(Ac,v,{5:270}),i(u5,[2,124],{105:256,10:od,58:cd,81:w1,102:kh,106:Wd,107:Yd,108:Xd,109:Zf}),i(Ya,[2,119],{117:160,10:[1,271],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,120],{117:160,10:[1,272],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,107]),{31:[1,273],65:ha,79:208,113:Fa,114:Ra,115:ma},{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},{10:od,58:cd,81:w1,89:275,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:276,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},i(qr,[2,57]),i(Ce,[2,33]),i(Ya,[2,117],{103:Up}),i(Ya,[2,118],{103:Up})],defaultActions:{},parseError:function(Hi,Ui){if(Ui.recoverable)this.trace(Hi);else{var zs=new Error(Hi);throw zs.hash=Ui,zs}},parse:function(Hi){var Ui=this,zs=[0],gi=[],Bo=[null],Ot=[],zu=this.table,Gt="",Wh=0,Vp=0,J3=2,q9=1,l5=Ot.slice.call(arguments,1),Th=Object.create(this.lexer),Vg={yy:{}};for(var Em in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Em)&&(Vg.yy[Em]=this.yy[Em]);Th.setInput(Hi,Vg.yy),Vg.yy.lexer=Th,Vg.yy.parser=this,typeof Th.yylloc>"u"&&(Th.yylloc={});var H9=Th.yylloc;Ot.push(H9);var Cm=Th.options&&Th.options.ranges;typeof Vg.yy.parseError=="function"?this.parseError=Vg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function h5(){var Gp;return Gp=gi.pop()||Th.lex()||q9,typeof Gp!="number"&&(Gp instanceof Array&&(gi=Gp,Gp=gi.pop()),Gp=Ui.symbols_[Gp]||Gp),Gp}for(var y1,ud,ld,U9,Qv={},X7,tb,Q7,f5;;){if(ud=zs[zs.length-1],this.defaultActions[ud]?ld=this.defaultActions[ud]:((y1===null||typeof y1>"u")&&(y1=h5()),ld=zu[ud]&&zu[ud][y1]),typeof ld>"u"||!ld.length||!ld[0]){var Z3="";f5=[];for(X7 in zu[ud])this.terminals_[X7]&&X7>J3&&f5.push("'"+this.terminals_[X7]+"'");Th.showPosition?Z3="Parse error on line "+(Wh+1)+`: +`+Th.showPosition()+` +Expecting `+f5.join(", ")+", got '"+(this.terminals_[y1]||y1)+"'":Z3="Parse error on line "+(Wh+1)+": Unexpected "+(y1==q9?"end of input":"'"+(this.terminals_[y1]||y1)+"'"),this.parseError(Z3,{text:Th.match,token:this.terminals_[y1]||y1,line:Th.yylineno,loc:H9,expected:f5})}if(ld[0]instanceof Array&&ld.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ud+", token: "+y1);switch(ld[0]){case 1:zs.push(y1),Bo.push(Th.yytext),Ot.push(Th.yylloc),zs.push(ld[1]),y1=null,Vp=Th.yyleng,Gt=Th.yytext,Wh=Th.yylineno,H9=Th.yylloc;break;case 2:if(tb=this.productions_[ld[1]][1],Qv.$=Bo[Bo.length-tb],Qv._$={first_line:Ot[Ot.length-(tb||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(tb||1)].first_column,last_column:Ot[Ot.length-1].last_column},Cm&&(Qv._$.range=[Ot[Ot.length-(tb||1)].range[0],Ot[Ot.length-1].range[1]]),U9=this.performAction.apply(Qv,[Gt,Vp,Wh,Vg.yy,ld[1],Bo,Ot].concat(l5)),typeof U9<"u")return U9;tb&&(zs=zs.slice(0,-1*tb*2),Bo=Bo.slice(0,-1*tb),Ot=Ot.slice(0,-1*tb)),zs.push(this.productions_[ld[1]][0]),Bo.push(Qv.$),Ot.push(Qv._$),Q7=zu[zs[zs.length-2]][zs[zs.length-1]],zs.push(Q7);break;case 3:return!0}}return!0}},jr=function(){var Qo={EOF:1,parseError:function(Ui,zs){if(this.yy.parser)this.yy.parser.parseError(Ui,zs);else throw new Error(Ui)},setInput:function(Hi,Ui){return this.yy=Ui||this.yy||{},this._input=Hi,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},input:function(){var Hi=this._input[0];this.yytext+=Hi,this.yyleng++,this.offset++,this.match+=Hi,this.matched+=Hi;var Ui=Hi.match(/(?:\r\n?|\n).*/g);return Ui?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Hi},unput:function(Hi){var Ui=Hi.length,zs=Hi.split(/(?:\r\n?|\n)/g);this._input=Hi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ui),this.offset-=Ui;var gi=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),zs.length-1&&(this.yylineno-=zs.length-1);var Bo=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:zs?(zs.length===gi.length?this.yylloc.first_column:0)+gi[gi.length-zs.length].length-zs[0].length:this.yylloc.first_column-Ui},this.options.ranges&&(this.yylloc.range=[Bo[0],Bo[0]+this.yyleng-Ui]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Hi){this.unput(this.match.slice(Hi))},pastInput:function(){var Hi=this.matched.substr(0,this.matched.length-this.match.length);return(Hi.length>20?"...":"")+Hi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Hi=this.match;return Hi.length<20&&(Hi+=this._input.substr(0,20-Hi.length)),(Hi.substr(0,20)+(Hi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Hi=this.pastInput(),Ui=new Array(Hi.length+1).join("-");return Hi+this.upcomingInput()+` +`+Ui+"^"},test_match:function(Hi,Ui){var zs,gi,Bo;if(this.options.backtrack_lexer&&(Bo={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&&(Bo.yylloc.range=this.yylloc.range.slice(0))),gi=Hi[0].match(/(?:\r\n?|\n).*/g),gi&&(this.yylineno+=gi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:gi?gi[gi.length-1].length-gi[gi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Hi[0].length},this.yytext+=Hi[0],this.match+=Hi[0],this.matches=Hi,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(Hi[0].length),this.matched+=Hi[0],zs=this.performAction.call(this,this.yy,this,Ui,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),zs)return zs;if(this._backtrack){for(var Ot in Bo)this[Ot]=Bo[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Hi,Ui,zs,gi;this._more||(this.yytext="",this.match="");for(var Bo=this._currentRules(),Ot=0;OtUi[0].length)){if(Ui=zs,gi=Ot,this.options.backtrack_lexer){if(Hi=this.test_match(zs,Bo[Ot]),Hi!==!1)return Hi;if(this._backtrack){Ui=!1;continue}else return!1}else if(!this.options.flex)break}return Ui?(Hi=this.test_match(Ui,Bo[gi]),Hi!==!1?Hi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ui=this.next();return Ui||this.lex()},begin:function(Ui){this.conditionStack.push(Ui)},popState:function(){var Ui=this.conditionStack.length-1;return Ui>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ui){return Ui=this.conditionStack.length-1-Math.abs(Ui||0),Ui>=0?this.conditionStack[Ui]:"INITIAL"},pushState:function(Ui){this.begin(Ui)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ui,zs,gi,Bo){switch(gi){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:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;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 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},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]*)/,/^(?:[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:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return Qo}();Vt.lexer=jr;function Ji(){this.yy={}}return Ji.prototype=Vt,Vt.Parser=Ji,new Ji}();ume.parser=ume;const lme=ume,zVt="flowchart-";let cHe=0,UD=qt(),ih={},V3=[],VD={},j7=[],GQ={},KQ={},WQ=0,hme=!0,Kv,YQ,XQ=[];const QQ=i=>oi.sanitizeText(i,UD),ER=function(i){const a=Object.keys(ih);for(const u of a)if(ih[u].id===i)return ih[u].domId;return i},uHe=function(i,a,u,d,p,v,b={}){let y,E=i;E!==void 0&&E.trim().length!==0&&(ih[E]===void 0&&(ih[E]={id:E,labelType:"text",domId:zVt+E+"-"+cHe,styles:[],classes:[]}),cHe++,a!==void 0?(UD=qt(),y=QQ(a.text.trim()),ih[E].labelType=a.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),ih[E].text=y):ih[E].text===void 0&&(ih[E].text=i),u!==void 0&&(ih[E].type=u),d!=null&&d.forEach(function(_){ih[E].styles.push(_)}),p!=null&&p.forEach(function(_){ih[E].classes.push(_)}),v!==void 0&&(ih[E].dir=v),ih[E].props===void 0?ih[E].props=b:b!==void 0&&Object.assign(ih[E].props,b))},lHe=function(i,a,u){const v={start:i,end:a,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=QQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),V3.length<(UD.maxEdges??500))Xe.info("abc78 pushing edge..."),V3.push(v);else throw new Error(`Edge limit exceeded. ${V3.length} edges found, but the limit is ${UD.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.`)},hHe=function(i,a,u){Xe.info("addLink (abc78)",i,a,u);let d,p;for(d=0;d=V3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${V3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?V3.defaultStyle=a:(So.isSubstringInArray("fill",a)===-1&&a.push("fill:none"),V3[u].style=a)})},gHe=function(i,a){i.split(",").forEach(function(u){VD[u]===void 0&&(VD[u]={id:u,styles:[],textStyles:[]}),a!=null&&a.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");VD[u].textStyles.push(p)}VD[u].styles.push(d)})})},pHe=function(i){Kv=i,Kv.match(/.*/)&&(Kv="LR"),Kv.match(/.*v/)&&(Kv="TB"),Kv==="TD"&&(Kv="TB")},JQ=function(i,a){i.split(",").forEach(function(u){let d=u;ih[d]!==void 0&&ih[d].classes.push(a),GQ[d]!==void 0&&GQ[d].classes.push(a)})},qVt=function(i,a){i.split(",").forEach(function(u){a!==void 0&&(KQ[YQ==="gen-1"?ER(u):u]=QQ(a))})},HVt=function(i,a,u){let d=ER(i);if(qt().securityLevel!=="loose"||a===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),p.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Dr(this).classed("hover",!1)})};XQ.push(EHe);const CHe=function(i="gen-1"){ih={},VD={},V3=[],XQ=[EHe],j7=[],GQ={},WQ=0,KQ={},hme=!0,YQ=i,UD=qt(),Rg()},SHe=i=>{YQ=i||"gen-2"},_He=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},AHe=function(i,a,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let B;return{nodeList:A.filter(function(W){const ee=typeof W;return W.stmt&&W.stmt==="dir"?(B=W.value,!1):W.trim()===""?!1:ee in P?P[ee].hasOwnProperty(W)?!1:P[ee][W]=!0:R.includes(W)?!1:R.push(W)}),dir:B}}let b=[];const{nodeList:y,dir:E}=v(b.concat.apply(b,a));if(b=y,YQ==="gen-1")for(let A=0;A2e3)return;if(LHe[CR]=a,j7[a].id===i)return{result:!0,count:0};let d=0,p=1;for(;d=0){const b=MHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},DHe=function(i){return LHe[i]},IHe=function(){CR=-1,j7.length>0&&MHe("none",j7.length-1)},OHe=function(){return j7},NHe=()=>hme?(hme=!1,!0):!1,VVt=i=>{let a=i.trim(),u="arrow_open";switch(a[0]){case"<":u="arrow_point",a=a.slice(1);break;case"x":u="arrow_cross",a=a.slice(1);break;case"o":u="arrow_circle",a=a.slice(1);break}let d="normal";return a.includes("=")&&(d="thick"),a.includes(".")&&(d="dotted"),{type:u,stroke:d}},GVt=(i,a)=>{const u=a.length;let d=0;for(let p=0;p{const a=i.trim();let u=a.slice(0,-1),d="arrow_open";switch(a.slice(-1)){case"x":d="arrow_cross",a[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",a[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",a[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=GVt(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},PHe=(i,a)=>{const u=KVt(i);let d;if(a){if(d=VVt(a),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},BHe=(i,a)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(a)>=0&&(u=!0)}),u},FHe=(i,a)=>{const u=[];return i.nodes.forEach((d,p)=>{BHe(a,d)||u.push(i.nodes[p])}),{nodes:u}},RHe={firstGraph:NHe},UC={defaultConfig:()=>E$e.flowchart,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,addVertex:uHe,lookUpDomId:ER,addLink:hHe,updateLinkInterpolate:fHe,updateLink:dHe,addClass:gHe,setDirection:pHe,setClass:JQ,setTooltip:qVt,getTooltip:mHe,setClickEvent:vHe,setLink:bHe,bindFunctions:wHe,getDirection:yHe,getVertices:xHe,getEdges:kHe,getClasses:THe,clear:CHe,setGen:SHe,defaultStyle:_He,addSubGraph:AHe,getDepthFirstPos:DHe,indexNodes:IHe,getSubGraphs:OHe,destructLink:PHe,lex:RHe,exists:BHe,makeUniq:FHe,setDiagramTitle:pm,getDiagramTitle:Op},WVt=Object.freeze(Object.defineProperty({__proto__:null,addClass:gHe,addLink:hHe,addSingleLink:lHe,addSubGraph:AHe,addVertex:uHe,bindFunctions:wHe,clear:CHe,default:UC,defaultStyle:_He,destructLink:PHe,firstGraph:NHe,getClasses:THe,getDepthFirstPos:DHe,getDirection:yHe,getEdges:kHe,getSubGraphs:OHe,getTooltip:mHe,getVertices:xHe,indexNodes:IHe,lex:RHe,lookUpDomId:ER,setClass:JQ,setClickEvent:vHe,setDirection:pHe,setGen:SHe,setLink:bHe,updateLink:dHe,updateLinkInterpolate:fHe},Symbol.toStringTag,{value:"Module"}));var YVt="[object Symbol]";function VC(i){return typeof i=="symbol"||V4(i)&&LC(i)==YVt}function GD(i,a){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u-1}function xm(i){return y9(i)?Lje(i):P$e(i)}var dGt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gGt=/^\w*$/;function fme(i,a){if(D0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||VC(i)?!0:gGt.test(i)||!dGt.test(i)||a!=null&&i in Object(a)}var pGt=500;function bGt(i){var a=yD(i,function(d){return u.size===pGt&&u.clear(),d}),u=a.cache;return a}var mGt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vGt=/\\(\\)?/g,wGt=bGt(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(mGt,function(u,d,p,v){a.push(p?v.replace(vGt,"$1"):d||u)}),a});const yGt=wGt;function GHe(i){return i==null?"":zHe(i)}function eJ(i,a){return D0(i)?i:fme(i,a)?[i]:yGt(GHe(i))}var xGt=1/0;function SR(i){if(typeof i=="string"||VC(i))return i;var a=i+"";return a=="0"&&1/i==-xGt?"-0":a}function tJ(i,a){a=eJ(a,i);for(var u=0,d=a.length;i!=null&&u0&&u(y)?a>1?nJ(y,a-1,u,d,p):dme(p,y):d||(p[p.length]=y)}return p}function KD(i){var a=i==null?0:i.length;return a?nJ(i,1):[]}function EGt(i){return Oje(Ije(i,void 0,KD),i+"")}function CGt(i,a,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++py))return!1;var _=v.get(i),A=v.get(a);if(_&&A)return _==a&&A==i;var P=-1,R=!0,B=u&JKt?new AR:void 0;for(v.set(i,a),v.set(a,i);++P2?a[2]:void 0;for(p&&oR(a[0],a[1],p)&&(d=1);++u-1?p[v?a[b]:b]:void 0}}var zWt=Math.max;function qWt(i,a,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:oGt(u);return p<0&&(p=zWt(d+p,0)),VHe(i,N9(a),p)}var HWt=$Wt(qWt);const xme=HWt;function wUe(i,a){var u=-1,d=y9(i)?Array(i.length):[];return iJ(i,function(p,v,b){d[++u]=a(p,v,b)}),d}function F0(i,a){var u=D0(i)?GD:wUe;return u(i,N9(a))}function UWt(i,a){return i==null?i:M2e(i,yme(a),OC)}function VWt(i,a){return i&&wme(i,yme(a))}function GWt(i,a){return i>a}var KWt=Object.prototype,WWt=KWt.hasOwnProperty;function YWt(i,a){return i!=null&&WWt.call(i,a)}function yUe(i,a){return i!=null&&pUe(i,a,YWt)}function XWt(i,a){return GD(a,function(u){return i[u]})}function z7(i){return i==null?[]:XWt(i,xm(i))}function Yf(i){return i===void 0}function xUe(i,a){return ia||v&&b&&E&&!y&&!_||d&&b&&E||!u&&E||!p)return 1;if(!d&&!v&&!_&&i=y)return E;var _=u[d];return E*(_=="desc"?-1:1)}}return i.index-a.index}function nYt(i,a,u){a.length?a=GD(a,function(v){return D0(v)?function(b){return tJ(b,v.length===1?v[0]:v)}:v}):a=[NC];var d=-1;a=GD(a,jX(N9));var p=wUe(i,function(v,b,y){var E=GD(a,function(_){return _(v)});return{criteria:E,index:++d,value:v}});return ZWt(p,function(v,b){return tYt(v,b,u)})}function rYt(i,a){return JWt(i,a,function(u,d){return bUe(i,d)})}var iYt=EGt(function(i,a){return i==null?{}:rYt(i,a)});const MR=iYt;var sYt=Math.ceil,aYt=Math.max;function oYt(i,a,u,d){for(var p=-1,v=aYt(sYt((a-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function cYt(i){return function(a,u,d){return d&&typeof d!="number"&&oR(a,u,d)&&(u=d=void 0),a=ZQ(a),u===void 0?(u=a,a=0):u=ZQ(u),d=d===void 0?a1&&oR(i,a[0],a[1])?a=[]:u>2&&oR(a[0],a[1],a[2])&&(a=[a[0]]),nYt(i,nJ(a,1),[])});const IR=hYt;var fYt=1/0,dYt=LD&&1/bme(new LD([,-0]))[1]==fYt?function(i){return new LD(i)}:cGt;const gYt=dYt;var pYt=200;function bYt(i,a,u){var d=-1,p=fGt,v=i.length,b=!0,y=[],E=y;if(u)b=!1,p=RWt;else if(v>=pYt){var _=a?null:gYt(i);if(_)return bme(_);b=!1,p=oUe,E=new AR}else E=a?[]:y;e:for(;++d1?p.setNode(v,u):p.setNode(v)}),this}setNode(a,u){return Object.prototype.hasOwnProperty.call(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=u),this):(this._nodes[a]=arguments.length>1?u:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=WC,this._children[a]={},this._children[WC][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return Object.prototype.hasOwnProperty.call(this._nodes,a)}removeNode(a){if(Object.prototype.hasOwnProperty.call(this._nodes,a)){var u=d=>this.removeEdge(this._edgeObjs[d]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],Ar(this.children(a),d=>{this.setParent(d)}),delete this._children[a]),Ar(xm(this._in[a]),u),delete this._in[a],delete this._preds[a],Ar(xm(this._out[a]),u),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Yf(u))u=WC;else{u+="";for(var d=u;!Yf(d);d=this.parent(d))if(d===a)throw new Error("Setting "+u+" as parent of "+a+" would create a cycle");this.setNode(u)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=u,this._children[u][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var u=this._parent[a];if(u!==WC)return u}}children(a){if(Yf(a)&&(a=WC),this._isCompound){var u=this._children[a];if(u)return xm(u)}else{if(a===WC)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var u=this._preds[a];if(u)return xm(u)}successors(a){var u=this._sucs[a];if(u)return xm(u)}neighbors(a){var u=this.predecessors(a);if(u)return vYt(u,this.successors(a))}isLeaf(a){var u;return this.isDirected()?u=this.successors(a):u=this.neighbors(a),u.length===0}filterNodes(a){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;Ar(this._nodes,function(b,y){a(y)&&u.setNode(y,b)}),Ar(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&Ar(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(a){return vD(a)||(a=ED(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return z7(this._edgeObjs)}setPath(a,u){var d=this,p=arguments;return DR(a,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var a,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(a=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),a=""+a,u=""+u,Yf(d)||(d=""+d);var y=OR(this._isDirected,a,u,d);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Yf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(a,u,d);var E=TYt(this._isDirected,a,u,d);return a=E.v,u=E.w,Object.freeze(E),this._edgeObjs[y]=E,TUe(this._preds[u],a),TUe(this._sucs[a],u),this._in[u][y]=E,this._out[a][y]=E,this._edgeCount++,this}edge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d);return this._edgeLabels[p]}hasEdge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d);return Object.prototype.hasOwnProperty.call(this._edgeLabels,p)}removeEdge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d),v=this._edgeObjs[p];return v&&(a=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],EUe(this._preds[u],a),EUe(this._sucs[a],u),delete this._in[u][p],delete this._out[a][p],this._edgeCount--),this}inEdges(a,u){var d=this._in[a];if(d){var p=z7(d);return u?$7(p,function(v){return v.v===u}):p}}outEdges(a,u){var d=this._out[a];if(d){var p=z7(d);return u?$7(p,function(v){return v.w===u}):p}}nodeEdges(a,u){var d=this.inEdges(a,u);if(d)return d.concat(this.outEdges(a,u))}}R0.prototype._nodeCount=0,R0.prototype._edgeCount=0;function TUe(i,a){i[a]?i[a]++:i[a]=1}function EUe(i,a){--i[a]||delete i[a]}function OR(i,a,u,d){var p=""+a,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+kUe+v+kUe+(Yf(d)?kYt:d)}function TYt(i,a,u,d){var p=""+a,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function Eme(i,a){return OR(i,a.v,a.w,a.name)}class EYt{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,u=a._prev;if(u!==a)return CUe(u),u}enqueue(a){var u=this._sentinel;a._prev&&a._next&&CUe(a),a._next=u._next,u._next._prev=a,u._next=a,a._prev=u}toString(){for(var a=[],u=this._sentinel,d=u._prev;d!==u;)a.push(JSON.stringify(d,CYt)),d=d._prev;return"["+a.join(", ")+"]"}}function CUe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function CYt(i,a){if(i!=="_next"&&i!=="_prev")return a}var SYt=ED(1);function _Yt(i,a){if(i.nodeCount()<=1)return[];var u=LYt(i,a||SYt),d=AYt(u.graph,u.buckets,u.zeroIdx);return KD(F0(d,function(p){return i.outEdges(p.v,p.w)}))}function AYt(i,a,u){for(var d=[],p=a[a.length-1],v=a[0],b;i.nodeCount();){for(;b=v.dequeue();)Cme(i,a,u,b);for(;b=p.dequeue();)Cme(i,a,u,b);if(i.nodeCount()){for(var y=a.length-2;y>0;--y)if(b=a[y].dequeue(),b){d=d.concat(Cme(i,a,u,b,!0));break}}}return d}function Cme(i,a,u,d,p){var v=p?[]:void 0;return Ar(i.inEdges(d.v),function(b){var y=i.edge(b),E=i.node(b.v);p&&v.push({v:b.v,w:b.w}),E.out-=y,Sme(a,u,E)}),Ar(i.outEdges(d.v),function(b){var y=i.edge(b),E=b.w,_=i.node(E);_.in-=y,Sme(a,u,_)}),i.removeNode(d.v),v}function LYt(i,a){var u=new R0,d=0,p=0;Ar(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),Ar(i.edges(),function(y){var E=u.edge(y.v,y.w)||0,_=a(y),A=E+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=KC(p+d+3).map(function(){return new EYt}),b=d+1;return Ar(u.nodes(),function(y){Sme(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function Sme(i,a,u){u.out?u.in?i[u.out-u.in+a].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function MYt(i){var a=i.graph().acyclicer==="greedy"?_Yt(i,u(i)):DYt(i);Ar(a,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,oJ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function DYt(i){var a=[],u={},d={};function p(v){Object.prototype.hasOwnProperty.call(d,v)||(d[v]=!0,u[v]=!0,Ar(i.outEdges(v),function(b){Object.prototype.hasOwnProperty.call(u,b.w)?a.push(b):p(b.w)}),delete u[v])}return Ar(i.nodes(),p),a}function IYt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(u.reversed){i.removeEdge(a);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(a.w,a.v,u,d)}})}function YD(i,a,u,d){var p;do p=oJ(d);while(i.hasNode(p));return u.dummy=a,i.setNode(p,u),p}function OYt(i){var a=new R0().setGraph(i.graph());return Ar(i.nodes(),function(u){a.setNode(u,i.node(u))}),Ar(i.edges(),function(u){var d=a.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);a.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),a}function SUe(i){var a=new R0({multigraph:i.isMultigraph()}).setGraph(i.graph());return Ar(i.nodes(),function(u){i.children(u).length||a.setNode(u,i.node(u))}),Ar(i.edges(),function(u){a.setEdge(u,i.edge(u))}),a}function _Ue(i,a){var u=i.x,d=i.y,p=a.x-u,v=a.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var E,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),E=y*p/v,_=y):(p<0&&(b=-b),E=b,_=b*v/p),{x:u+E,y:d+_}}function cJ(i){var a=F0(KC(LUe(i)+1),function(){return[]});return Ar(i.nodes(),function(u){var d=i.node(u),p=d.rank;Yf(p)||(a[p][d.order]=u)}),a}function NYt(i){var a=LR(F0(i.nodes(),function(u){return i.node(u).rank}));Ar(i.nodes(),function(u){var d=i.node(u);yUe(d,"rank")&&(d.rank-=a)})}function PYt(i){var a=LR(F0(i.nodes(),function(v){return i.node(v).rank})),u=[];Ar(i.nodes(),function(v){var b=i.node(v).rank-a;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;Ar(u,function(v,b){Yf(v)&&b%p!==0?--d:d&&Ar(v,function(y){i.node(y).rank+=d})})}function AUe(i,a,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),YD(i,"border",p,a)}function LUe(i){return GC(F0(i.nodes(),function(a){var u=i.node(a).rank;if(!Yf(u))return u}))}function BYt(i,a){var u={lhs:[],rhs:[]};return Ar(i,function(d){a(d)?u.lhs.push(d):u.rhs.push(d)}),u}function FYt(i,a){var u=mUe();try{return a()}finally{console.log(i+" time: "+(mUe()-u)+"ms")}}function RYt(i,a){return a()}function jYt(i){function a(u){var d=i.children(u),p=i.node(u);if(d.length&&Ar(d,a),Object.prototype.hasOwnProperty.call(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;vb.lim&&(y=b,E=!0);var _=$7(a.edges(),function(A){return E===zUe(i,i.node(A.v),y)&&E!==zUe(i,i.node(A.w),y)});return Tme(_,function(A){return NR(a,A)})}function $Ue(i,a,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),Dme(i),Mme(i,a),eXt(i,a)}function eXt(i,a){var u=xme(i.nodes(),function(p){return!a.node(p).parent}),d=JYt(i,u);d=d.slice(1),Ar(d,function(p){var v=i.node(p).parent,b=a.edge(p,v),y=!1;b||(b=a.edge(v,p),y=!0),a.node(p).rank=a.node(v).rank+(y?b.minlen:-b.minlen)})}function tXt(i,a,u){return i.hasEdge(a,u)}function zUe(i,a,u){return u.low<=a.lim&&a.lim<=u.lim}function nXt(i){switch(i.graph().ranker){case"network-simplex":qUe(i);break;case"tight-tree":iXt(i);break;case"longest-path":rXt(i);break;default:qUe(i)}}var rXt=Lme;function iXt(i){Lme(i),OUe(i)}function qUe(i){YC(i)}function sXt(i){var a=YD(i,"root",{},"_root"),u=aXt(i),d=GC(z7(u))-1,p=2*d+1;i.graph().nestingRoot=a,Ar(i.edges(),function(b){i.edge(b).minlen*=p});var v=oXt(i)+1;Ar(i.children(),function(b){HUe(i,a,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function HUe(i,a,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:u});return}var E=AUe(i,"_bt"),_=AUe(i,"_bb"),A=i.node(b);i.setParent(E,b),A.borderTop=E,i.setParent(_,b),A.borderBottom=_,Ar(y,function(P){HUe(i,a,u,d,p,v,P);var R=i.node(P),B=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,W=R.borderTop?d:2*d,ee=B!==j?1:p-v[b]+1;i.setEdge(E,B,{weight:W,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:W,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,E,{weight:0,minlen:p+v[b]})}function aXt(i){var a={};function u(d,p){var v=i.children(d);v&&v.length&&Ar(v,function(b){u(b,p+1)}),a[d]=p}return Ar(i.children(),function(d){u(d,1)}),a}function oXt(i){return DR(i.edges(),function(a,u){return a+i.edge(u).weight},0)}function cXt(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,Ar(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function uXt(i,a,u){var d={},p;Ar(u,function(v){for(var b=i.parent(v),y,E;b;){if(y=i.parent(b),y?(E=d[y],d[y]=b):(E=p,p=b),E&&E!==b){a.setEdge(E,b);return}b=y}})}function lXt(i,a,u){var d=hXt(i),p=new R0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return Ar(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),Ar(i[u](v),function(E){var _=E.v===v?E.w:E.v,A=p.edge(_,v),P=Yf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(E).weight+P})}),Object.prototype.hasOwnProperty.call(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),p}function hXt(i){for(var a;i.hasNode(a=oJ("_root")););return a}function fXt(i,a){for(var u=0,d=1;d0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;E+=_.weight*P})),E}function gXt(i){var a={},u=$7(i.nodes(),function(y){return!i.children(y).length}),d=GC(F0(u,function(y){return i.node(y).rank})),p=F0(KC(d+1),function(){return[]});function v(y){if(!yUe(a,y)){a[y]=!0;var E=i.node(y);p[E.rank].push(y),Ar(i.successors(y),v)}}var b=IR(u,function(y){return i.node(y).rank});return Ar(b,v),p}function pXt(i,a){return F0(a,function(u){var d=i.inEdges(u);if(d.length){var p=DR(d,function(v,b){var y=i.edge(b),E=i.node(b.v);return{sum:v.sum+y.weight*E.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function bXt(i,a){var u={};Ar(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Yf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),Ar(a.edges(),function(p){var v=u[p.v],b=u[p.w];!Yf(v)&&!Yf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=$7(u,function(p){return!p.indegree});return mXt(d)}function mXt(i){var a=[];function u(v){return function(b){b.merged||(Yf(b.barycenter)||Yf(v.barycenter)||b.barycenter>=v.barycenter)&&vXt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();a.push(p),Ar(p.in.reverse(),u(p)),Ar(p.out,d(p))}return F0($7(a,function(v){return!v.merged}),function(v){return MR(v,["vs","i","barycenter","weight"])})}function vXt(i,a){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),a.weight&&(u+=a.barycenter*a.weight,d+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(a.i,i.i),a.merged=!0}function wXt(i,a){var u=BYt(i,function(A){return Object.prototype.hasOwnProperty.call(A,"barycenter")}),d=u.lhs,p=IR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,E=0;d.sort(yXt(!!a)),E=UUe(v,p,E),Ar(d,function(A){E+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,E=UUe(v,p,E)});var _={vs:KD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function UUe(i,a,u){for(var d;a.length&&(d=sJ(a)).i<=u;)a.pop(),i.push(d.vs),u++;return u}function yXt(i){return function(a,u){return a.barycenteru.barycenter?1:i?u.i-a.i:a.i-u.i}}function VUe(i,a,u,d){var p=i.children(a),v=i.node(a),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,E={};b&&(p=$7(p,function(j){return j!==b&&j!==y}));var _=pXt(i,p);Ar(_,function(j){if(i.children(j.v).length){var W=VUe(i,j.v,u,d);E[j.v]=W,Object.prototype.hasOwnProperty.call(W,"barycenter")&&kXt(j,W)}});var A=bXt(_,u);xXt(A,E);var P=wXt(A,d);if(b&&(P.vs=KD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),B=i.node(i.predecessors(y)[0]);Object.prototype.hasOwnProperty.call(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+B.order)/(P.weight+2),P.weight+=2}return P}function xXt(i,a){Ar(i,function(u){u.vs=KD(u.vs.map(function(d){return a[d]?a[d].vs:d}))})}function kXt(i,a){Yf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function TXt(i){var a=LUe(i),u=GUe(i,KC(1,a+1),"inEdges"),d=GUe(i,KC(a-1,-1,-1),"outEdges"),p=gXt(i);KUe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,E=0;E<4;++y,++E){EXt(y%2?u:d,y%4>=2),p=cJ(i);var _=fXt(i,p);_b||y>a[E].lim));for(_=E,E=d;(E=i.parent(E))!==_;)v.push(E);return{path:p.concat(v.reverse()),lca:_}}function _Xt(i){var a={},u=0;function d(p){var v=u;Ar(i.children(p),d),a[p]={low:v,lim:u++}}return Ar(i.children(),d),a}function AXt(i,a){var u={};function d(p,v){var b=0,y=0,E=p.length,_=sJ(v);return Ar(v,function(A,P){var R=MXt(i,A),B=R?i.node(R).order:E;(R||A===_)&&(Ar(v.slice(y,P+1),function(j){Ar(i.predecessors(j),function(W){var ee=i.node(W),ie=ee.order;(ie_)&&WUe(u,R,A)})})}function p(v,b){var y=-1,E,_=0;return Ar(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(E=i.node(R[0]).order,d(b,_,P,y,E),_=P,y=E)}d(b,_,b.length,E,v.length)}),b}return DR(a,p),u}function MXt(i,a){if(i.node(a).dummy)return xme(i.predecessors(a),function(u){return i.node(u).dummy})}function WUe(i,a,u){if(a>u){var d=a;a=u,u=d}Object.prototype.hasOwnProperty.call(i,a)||Object.defineProperty(i,a,{enumerable:!0,configurable:!0,value:{},writable:!0});var p=i[a];Object.defineProperty(p,u,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function DXt(i,a,u){if(a>u){var d=a;a=u,u=d}return!!i[a]&&Object.prototype.hasOwnProperty.call(i[a],u)}function IXt(i,a,u,d){var p={},v={},b={};return Ar(a,function(y){Ar(y,function(E,_){p[E]=E,v[E]=E,b[E]=_})}),Ar(a,function(y){var E=-1;Ar(y,function(_){var A=d(_);if(A.length){A=IR(A,function(W){return b[W]});for(var P=(A.length-1)/2,R=Math.floor(P),B=Math.ceil(P);R<=B;++R){var j=A[R];v[_]===_&&E{var d=u(" buildLayoutGraph",()=>ZXt(i));u(" runLayout",()=>HXt(d,u)),u(" updateInputGraph",()=>UXt(i,d))})}function HXt(i,a){a(" makeSpaceForEdgeLabels",()=>eQt(i)),a(" removeSelfEdges",()=>uQt(i)),a(" acyclic",()=>MYt(i)),a(" nestingGraph.run",()=>sXt(i)),a(" rank",()=>nXt(SUe(i))),a(" injectEdgeLabelProxies",()=>tQt(i)),a(" removeEmptyRanks",()=>PYt(i)),a(" nestingGraph.cleanup",()=>cXt(i)),a(" normalizeRanks",()=>NYt(i)),a(" assignRankMinMax",()=>nQt(i)),a(" removeEdgeLabelProxies",()=>rQt(i)),a(" normalize.run",()=>UYt(i)),a(" parentDummyChains",()=>CXt(i)),a(" addBorderSegments",()=>jYt(i)),a(" order",()=>TXt(i)),a(" insertSelfEdges",()=>lQt(i)),a(" adjustCoordinateSystem",()=>$Yt(i)),a(" position",()=>zXt(i)),a(" positionSelfEdges",()=>hQt(i)),a(" removeBorderNodes",()=>cQt(i)),a(" normalize.undo",()=>GYt(i)),a(" fixupEdgeLabelCoords",()=>aQt(i)),a(" undoCoordinateSystem",()=>zYt(i)),a(" translateGraph",()=>iQt(i)),a(" assignNodeIntersects",()=>sQt(i)),a(" reversePoints",()=>oQt(i)),a(" acyclic.undo",()=>IYt(i))}function UXt(i,a){Ar(i.nodes(),function(u){var d=i.node(u),p=a.node(u);d&&(d.x=p.x,d.y=p.y,a.children(u).length&&(d.width=p.width,d.height=p.height))}),Ar(i.edges(),function(u){var d=i.edge(u),p=a.edge(u);d.points=p.points,Object.prototype.hasOwnProperty.call(p,"x")&&(d.x=p.x,d.y=p.y)}),i.graph().width=a.graph().width,i.graph().height=a.graph().height}var VXt=["nodesep","edgesep","ranksep","marginx","marginy"],GXt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},KXt=["acyclicer","ranker","rankdir","align"],WXt=["width","height"],YXt={width:0,height:0},XXt=["minlen","weight","width","height","labeloffset"],QXt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},JXt=["labelpos"];function ZXt(i){var a=new R0({multigraph:!0,compound:!0}),u=Ome(i.graph());return a.setGraph(UX({},GXt,Ime(u,VXt),MR(u,KXt))),Ar(i.nodes(),function(d){var p=Ome(i.node(d));a.setNode(d,WD(Ime(p,WXt),YXt)),a.setParent(d,i.parent(d))}),Ar(i.edges(),function(d){var p=Ome(i.edge(d));a.setEdge(d,UX({},QXt,Ime(p,XXt),MR(p,JXt)))}),a}function eQt(i){var a=i.graph();a.ranksep/=2,Ar(i.edges(),function(u){var d=i.edge(u);d.minlen*=2,d.labelpos.toLowerCase()!=="c"&&(a.rankdir==="TB"||a.rankdir==="BT"?d.width+=d.labeloffset:d.height+=d.labeloffset)})}function tQt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(u.width&&u.height){var d=i.node(a.v),p=i.node(a.w),v={rank:(p.rank-d.rank)/2+d.rank,e:a};YD(i,"edge-proxy",v,"_ep")}})}function nQt(i){var a=0;Ar(i.nodes(),function(u){var d=i.node(u);d.borderTop&&(d.minRank=i.node(d.borderTop).rank,d.maxRank=i.node(d.borderBottom).rank,a=GC(a,d.maxRank))}),i.graph().maxRank=a}function rQt(i){Ar(i.nodes(),function(a){var u=i.node(a);u.dummy==="edge-proxy"&&(i.edge(u.e).labelRank=u.rank,i.removeNode(a))})}function iQt(i){var a=Number.POSITIVE_INFINITY,u=0,d=Number.POSITIVE_INFINITY,p=0,v=i.graph(),b=v.marginx||0,y=v.marginy||0;function E(_){var A=_.x,P=_.y,R=_.width,B=_.height;a=Math.min(a,A-R/2),u=Math.max(u,A+R/2),d=Math.min(d,P-B/2),p=Math.max(p,P+B/2)}Ar(i.nodes(),function(_){E(i.node(_))}),Ar(i.edges(),function(_){var A=i.edge(_);Object.prototype.hasOwnProperty.call(A,"x")&&E(A)}),a-=b,d-=y,Ar(i.nodes(),function(_){var A=i.node(_);A.x-=a,A.y-=d}),Ar(i.edges(),function(_){var A=i.edge(_);Ar(A.points,function(P){P.x-=a,P.y-=d}),Object.prototype.hasOwnProperty.call(A,"x")&&(A.x-=a),Object.prototype.hasOwnProperty.call(A,"y")&&(A.y-=d)}),v.width=u-a+b,v.height=p-d+y}function sQt(i){Ar(i.edges(),function(a){var u=i.edge(a),d=i.node(a.v),p=i.node(a.w),v,b;u.points?(v=u.points[0],b=u.points[u.points.length-1]):(u.points=[],v=p,b=d),u.points.unshift(_Ue(d,v)),u.points.push(_Ue(p,b))})}function aQt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(Object.prototype.hasOwnProperty.call(u,"x"))switch((u.labelpos==="l"||u.labelpos==="r")&&(u.width-=u.labeloffset),u.labelpos){case"l":u.x-=u.width/2+u.labeloffset;break;case"r":u.x+=u.width/2+u.labeloffset;break}})}function oQt(i){Ar(i.edges(),function(a){var u=i.edge(a);u.reversed&&u.points.reverse()})}function cQt(i){Ar(i.nodes(),function(a){if(i.children(a).length){var u=i.node(a),d=i.node(u.borderTop),p=i.node(u.borderBottom),v=i.node(sJ(u.borderLeft)),b=i.node(sJ(u.borderRight));u.width=Math.abs(b.x-v.x),u.height=Math.abs(p.y-d.y),u.x=v.x+u.width/2,u.y=d.y+u.height/2}}),Ar(i.nodes(),function(a){i.node(a).dummy==="border"&&i.removeNode(a)})}function uQt(i){Ar(i.edges(),function(a){if(a.v===a.w){var u=i.node(a.v);u.selfEdges||(u.selfEdges=[]),u.selfEdges.push({e:a,label:i.edge(a)}),i.removeEdge(a)}})}function lQt(i){var a=cJ(i);Ar(a,function(u){var d=0;Ar(u,function(p,v){var b=i.node(p);b.order=v+d,Ar(b.selfEdges,function(y){YD(i,"selfedge",{width:y.label.width,height:y.label.height,rank:b.rank,order:v+ ++d,e:y.e,label:y.label},"_se")}),delete b.selfEdges})})}function hQt(i){Ar(i.nodes(),function(a){var u=i.node(a);if(u.dummy==="selfedge"){var d=i.node(u.e.v),p=d.x+d.width/2,v=d.y,b=u.x-p,y=d.height/2;i.setEdge(u.e,u.label),i.removeNode(a),u.label.points=[{x:p+2*b/3,y:v-y},{x:p+5*b/6,y:v-y},{x:p+b,y:v},{x:p+5*b/6,y:v+y},{x:p+2*b/3,y:v+y}],u.label.x=u.x,u.label.y=u.y}})}function Ime(i,a){return aJ(MR(i,a),Number)}function Ome(i){var a={};return Ar(i,function(u,d){a[d.toLowerCase()]=u}),a}function YUe(i,a){return!!i.children(a).length}function XUe(i){return Nme(i.v)+":"+Nme(i.w)+":"+Nme(i.name)}var fQt=/:/g;function Nme(i){return i?String(i).replace(fQt,"\\:"):""}function t5(i,a){a&&i.attr("style",a)}function QUe(i,a,u){a&&i.attr("class",a).attr("class",u+" "+i.attr("class"))}function G3(i,a){var u=a.graph();if(Sje(u)){var d=u.transition;if(vD(d))return d(i)}return i}var Pme={normal:gQt,vee:pQt,undirected:bQt};function dQt(i){Pme=i}function gQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function pQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function bQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function Bme(i,a){var u=i.append("foreignObject").attr("width","100000"),d=u.append("xhtml:div");d.attr("xmlns","http://www.w3.org/1999/xhtml");var p=a.label;switch(typeof p){case"function":d.insert(p);break;case"object":d.insert(function(){return p});break;default:d.html(p)}t5(d,a.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap");var v=d.node().getBoundingClientRect();return u.attr("width",v.width).attr("height",v.height),u}function mQt(i,a){var u=i;return u.node().appendChild(a.label),t5(u,a.labelStyle),u}function vQt(i,a){for(var u=i.append("text"),d=wQt(a.label).split(` +`),p=0;p0}function n5(i,a,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;a.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var E=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oeMath.abs(p)*y?(v<0&&(y=-y),E=v===0?0:y*p/v,_=y):(p<0&&(b=-b),E=b,_=p===0?0:b*v/p),{x:u+E,y:d+_}}var Hme={rect:PQt,ellipse:BQt,circle:FQt,diamond:RQt};function NQt(i){Hme=i}function PQt(i,a,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return u.intersect=function(p){return qme(u,p)},d}function BQt(i,a,u){var d=a.width/2,p=a.height/2,v=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return eVe(u,d,p,b)},v}function FQt(i,a,u){var d=Math.max(a.width,a.height)/2,p=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",d);return u.intersect=function(v){return IQt(u,d,v)},p}function RQt(i,a,u){var d=a.width*Math.SQRT2/2,p=a.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return n5(u,v,y)},b}function jQt(){var i=function(a,u){qQt(u);var d=PR(a,"output"),p=PR(d,"clusters"),v=PR(d,"edgePaths"),b=jme(PR(d,"edgeLabels"),u),y=zme(PR(d,"nodes"),u,Hme);XD(u),DQt(y,u),MQt(b,u),$me(v,u,Pme);var E=Rme(p,u);LQt(E,u),HQt(u)};return i.createNodes=function(a){return arguments.length?(AQt(a),i):zme},i.createClusters=function(a){return arguments.length?(yQt(a),i):Rme},i.createEdgeLabels=function(a){return arguments.length?(xQt(a),i):jme},i.createEdgePaths=function(a){return arguments.length?(kQt(a),i):$me},i.shapes=function(a){return arguments.length?(NQt(a),i):Hme},i.arrows=function(a){return arguments.length?(dQt(a),i):Pme},i}var $Qt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},zQt={arrowhead:"normal",curve:Sp};function qQt(i){i.nodes().forEach(a=>{const u=i.node(a);!Object.prototype.hasOwnProperty.call(u,"label")&&!i.children(a).length&&(u.label=a),Object.prototype.hasOwnProperty.call(u,"paddingX")&&WD(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),Object.prototype.hasOwnProperty.call(u,"paddingY")&&WD(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),Object.prototype.hasOwnProperty.call(u,"padding")&&WD(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),WD(u,$Qt),["paddingLeft","paddingRight","paddingTop","paddingBottom"].forEach(d=>{u[d]=Number(u[d])}),Object.prototype.hasOwnProperty.call(u,"width")&&(u._prevWidth=u.width),Object.prototype.hasOwnProperty.call(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(a){var u=i.edge(a);Object.prototype.hasOwnProperty.call(u,"label")||(u.label=""),WD(u,zQt)})}function HQt(i){i.nodes().forEach(a=>{var u=i.node(a);Object.prototype.hasOwnProperty.call(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,Object.prototype.hasOwnProperty.call(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function PR(i,a){var u=i.select("g."+a);return u.empty()&&(u=i.append("g").attr("class",a)),u}function nVe(i,a,u){const d=a.width,p=a.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=q7(i,v,v,b);return u.intersect=function(E){return n5(u,b,E)},y}function rVe(i,a,u){const p=a.height,v=p/4,b=a.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],E=q7(i,b,p,y);return u.intersect=function(_){return n5(u,y,_)},E}function iVe(i,a,u){const d=a.width,p=a.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function sVe(i,a,u){const d=a.width,p=a.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function aVe(i,a,u){const d=a.width,p=a.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function oVe(i,a,u){const d=a.width,p=a.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function cVe(i,a,u){const d=a.width,p=a.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function uVe(i,a,u){const d=a.width,p=a.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function lVe(i,a,u){const d=a.height,p=a.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return qme(u,b)},v}function hVe(i,a,u){const d=a.width,p=a.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function fVe(i,a,u){const d=a.width,p=d/2,v=p/(2.5+d/50),b=a.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,E=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=qme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},E}function UQt(i){i.shapes().question=nVe,i.shapes().hexagon=rVe,i.shapes().stadium=lVe,i.shapes().subroutine=hVe,i.shapes().cylinder=fVe,i.shapes().rect_left_inv_arrow=iVe,i.shapes().lean_right=sVe,i.shapes().lean_left=aVe,i.shapes().trapezoid=oVe,i.shapes().inv_trapezoid=cVe,i.shapes().rect_right_inv_arrow=uVe}function VQt(i){i({question:nVe}),i({hexagon:rVe}),i({stadium:lVe}),i({subroutine:hVe}),i({cylinder:fVe}),i({rect_left_inv_arrow:iVe}),i({lean_right:sVe}),i({lean_left:aVe}),i({trapezoid:oVe}),i({inv_trapezoid:cVe}),i({rect_right_inv_arrow:uVe})}function q7(i,a,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-a/2+","+u/2+")")}const GQt={addToRender:UQt,addToRenderV2:VQt},dVe={},KQt=function(i){const a=Object.keys(i);for(const u of a)dVe[u]=i[u]},gVe=async function(i,a,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Dr(`[id="${u}"]`),y=p||document,E=Object.keys(i);for(const _ of E){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=gm(A.styles);let B=A.text!==void 0?A.text:A.id,j;if(h1(qt().flowchart.htmlLabels)){const ie={label:await SC(B.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>``),qt())};j=Bme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=B.split(oi.lineBreakRegex);for(const be of oe){const ge=y.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}j=ie}let W=0,ee="";switch(A.type){case"round":W=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),a.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:W,ry:W,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},pVe=async function(i,a,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=gm(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,E="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const B=gm(b.style);P=B.style,R=B.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=qv(b.interpolate,Sp):i.defaultInterpolate!==void 0?A.curve=qv(i.defaultInterpolate,Sp):A.curve=qv(dVe.curve,Sp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",h1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`${await SC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,B=>``),qt())}`):(A.labelType="text",A.label=b.text.replace(oi.lineBreakRegex,` +`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=E+" "+_,A.minlen=b.length||1,a.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},WQt={setConf:KQt,addVertices:gVe,addEdges:pVe,getClasses:function(i,a){return Xe.info("Extracting classes"),a.db.getClasses()},draw:async function(i,a,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Dr("#i"+a));const y=Dr(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let B;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)B=j[ne],d.db.addVertex(B.id,B.title,"group",void 0,B.classes);const W=d.db.getVertices();Xe.warn("Get vertices",W);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){B=j[ie],VBe("cluster").append("text");for(let ne=0;ne{a.forEach(p=>{JQt[p](i,u,d)})},JQt={extension:(i,a,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+a+"-extensionStart").attr("class","marker extension "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-extensionEnd").attr("class","marker extension "+a).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")},composition:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-compositionStart").attr("class","marker composition "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-compositionEnd").attr("class","marker composition "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).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")},dependency:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).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")},lollipop:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).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),i.append("defs").append("marker").attr("id",u+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).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)},point:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-pointEnd").attr("class","marker "+a).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"),i.append("marker").attr("id",u+"_"+a+"-pointStart").attr("class","marker "+a).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")},circle:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-circleEnd").attr("class","marker "+a).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"),i.append("marker").attr("id",u+"_"+a+"-circleStart").attr("class","marker "+a).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")},cross:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-crossEnd").attr("class","marker cross "+a).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"),i.append("marker").attr("id",u+"_"+a+"-crossStart").attr("class","marker cross "+a).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")},barb:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-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")}},Ume=QQt;function ZQt(i,a){a&&i.attr("style",a)}function eJt(i,a){const u=Dr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),d=u.append("xhtml:div"),p=i.label,v=i.isNode?"nodeLabel":"edgeLabel";return d.html(bh('"+p+"",a)),ZQt(d,i.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap"),d.attr("xmlns","http://www.w3.org/1999/xhtml"),u.node()}const Y2=(i,a,u,d)=>{let p=i||"";typeof p=="object"&&(p=p[0]);const v=qt();if(h1(v.flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"
"),Xe.debug("vertexText"+p);const b={isNode:d,label:uR(p).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return eJt(b,v)}else{const b=document.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("style",a.replace("color:","fill:"));let y=[];typeof p=="string"?y=p.split(/\\n|\n|/gi):Array.isArray(p)?y=p:y=[];for(const E of y){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),u?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),b.appendChild(_)}return b}},tJt={};function nJt(i,a){const u=a||tJt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return bVe(i,d,p)}function bVe(i,a,u){if(rJt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return mVe(i.children,a,u)}return Array.isArray(i)?mVe(i,a,u):""}function mVe(i,a,u){const d=[];let p=-1;for(;++pp?0:p+a:a=a>p?p:a,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(a,u),i.splice(...b);else for(u&&i.splice(a,u);v0?(r5(i,i.length,0,a),i):a}const vVe={}.hasOwnProperty;function iJt(i){const a={};let u=-1;for(;++ub))return;const se=a.events.length;let de=se,X,pe;for(;de--;)if(a.events[de][0]==="exit"&&a.events[de][1].type==="chunkFlow"){if(X){pe=a.events[de][1].end;break}X=!0}for(ie(d),ne=se;nebe;){const ae=u[ge];a.containerState=ae[1],ae[0].exit.call(a,i)}u.length=be}function oe(){p.write([null]),v=void 0,p=void 0,a.containerState._closeFlow=void 0}}function mJt(i,a,u){return Hl(i,i.attempt(this.parser.constructs.document,a,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yVe(i){if(i===null||X2(i)||fJt(i))return 1;if(hJt(i))return 2}function Kme(i,a,u){const d=[];let p=-1;for(;++p1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);xVe(P,-E),xVe(R,E),b={type:E>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:E>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:E>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:E>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=Wv(_,[["enter",i[d][1],a],["exit",i[d][1],a]])),_=Wv(_,[["enter",p,a],["enter",b,a],["exit",b,a],["enter",v,a]]),_=Wv(_,Kme(a.parser.constructs.insideSpan.null,i.slice(d+1,u),a)),_=Wv(_,[["exit",v,a],["enter",y,a],["exit",y,a],["exit",p,a]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=Wv(_,[["enter",i[u][1],a],["exit",i[u][1],a]])):A=0,r5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u0&&Iu(ne)?Hl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||ro(ne)?i.check(SVe,W,ge)(ne):(i.enter("codeFlowValue"),be(ne))}function be(ne){return ne===null||ro(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),be)}function ge(ne){return i.exit("codeFenced"),a(ne)}function ae(ne,se,de){let X=0;return pe;function pe(Pe){return ne.enter("lineEnding"),ne.consume(Pe),ne.exit("lineEnding"),G}function G(Pe){return ne.enter("codeFencedFence"),Iu(Pe)?Hl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Pe):xe(Pe)}function xe(Pe){return Pe===y?(ne.enter("codeFencedFenceSequence"),U(Pe)):de(Pe)}function U(Pe){return Pe===y?(X++,ne.consume(Pe),U):X>=b?(ne.exit("codeFencedFenceSequence"),Iu(Pe)?Hl(ne,Be,"whitespace")(Pe):Be(Pe)):de(Pe)}function Be(Pe){return Pe===null||ro(Pe)?(ne.exit("codeFencedFence"),se(Pe)):de(Pe)}}}function LJt(i,a,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):a(b)}}const Xme={name:"codeIndented",tokenize:DJt},MJt={tokenize:IJt,partial:!0};function DJt(i,a,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Hl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?E(_):ro(_)?i.attempt(MJt,b,E)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||ro(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function E(_){return i.exit("codeIndented"),a(_)}}function IJt(i,a,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):ro(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Hl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?a(b):ro(b)?p(b):u(b)}}const OJt={name:"codeText",tokenize:BJt,resolve:NJt,previous:PJt};function NJt(i){let a=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(d=u;++d=4?a(b):i.interrupt(d.parser.constructs.flow,u,a)(b)}}function LVe(i,a,u,d,p,v,b,y,E){const _=E||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||Vme(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),W(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),a):(i.enter(y),i.enter("chunkString",{contentType:"string"}),B(ie))}function B(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||ro(ie)?u(ie):(i.consume(ie),ie===92?j:B)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),B):B(ie)}function W(ie){return!A&&(ie===null||ie===41||X2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),a(ie)):A<_&&ie===40?(i.consume(ie),A++,W):ie===41?(i.consume(ie),A--,W):ie===null||ie===32||ie===40||Vme(ie)?u(ie):(i.consume(ie),ie===92?ee:W)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),W):W(ie)}}function MVe(i,a,u,d,p,v){const b=this;let y=0,E;return _;function _(B){return i.enter(d),i.enter(p),i.consume(B),i.exit(p),i.enter(v),A}function A(B){return y>999||B===null||B===91||B===93&&!E||B===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(B):B===93?(i.exit(v),i.enter(p),i.consume(B),i.exit(p),i.exit(d),a):ro(B)?(i.enter("lineEnding"),i.consume(B),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(B))}function P(B){return B===null||B===91||B===93||ro(B)||y++>999?(i.exit("chunkString"),A(B)):(i.consume(B),E||(E=!Iu(B)),B===92?R:P)}function R(B){return B===91||B===92||B===93?(i.consume(B),y++,P):P(B)}}function DVe(i,a,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,E):u(R)}function E(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),a):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),E(b)):R===null?u(R):ro(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Hl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||ro(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function BR(i,a){let u;return d;function d(p){return ro(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Iu(p)?Hl(i,d,u?"linePrefix":"lineSuffix")(p):a(p)}}function QD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const HJt={name:"definition",tokenize:VJt},UJt={tokenize:GJt,partial:!0};function VJt(i,a,u){const d=this;let p;return v;function v(B){return i.enter("definition"),b(B)}function b(B){return MVe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(B)}function y(B){return p=QD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),B===58?(i.enter("definitionMarker"),i.consume(B),i.exit("definitionMarker"),E):u(B)}function E(B){return X2(B)?BR(i,_)(B):_(B)}function _(B){return LVe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(B)}function A(B){return i.attempt(UJt,P,P)(B)}function P(B){return Iu(B)?Hl(i,R,"whitespace")(B):R(B)}function R(B){return B===null||ro(B)?(i.exit("definition"),d.parser.defined.push(p),a(B)):u(B)}}function GJt(i,a,u){return d;function d(y){return X2(y)?BR(i,p)(y):u(y)}function p(y){return DVe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Iu(y)?Hl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||ro(y)?a(y):u(y)}}const KJt={name:"hardBreakEscape",tokenize:WJt};function WJt(i,a,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return ro(v)?(i.exit("hardBreakEscape"),a(v)):u(v)}}const YJt={name:"headingAtx",tokenize:QJt,resolve:XJt};function XJt(i,a){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},r5(i,d,u-d+1,[["enter",p,a],["enter",v,a],["exit",v,a],["exit",p,a]])),i}function QJt(i,a,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||X2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),E(A)):A===null||ro(A)?(i.exit("atxHeading"),a(A)):Iu(A)?Hl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function E(A){return A===35?(i.consume(A),E):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||X2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const JJt=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],IVe=["pre","script","style","textarea"],ZJt={name:"htmlFlow",tokenize:rZt,resolveTo:nZt,concrete:!0},eZt={tokenize:sZt,partial:!0},tZt={tokenize:iZt,partial:!0};function nZt(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function rZt(i,a,u){const d=this;let p,v,b,y,E;return _;function _(Ne){return A(Ne)}function A(Ne){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ne),P}function P(Ne){return Ne===33?(i.consume(Ne),R):Ne===47?(i.consume(Ne),v=!0,W):Ne===63?(i.consume(Ne),p=3,d.interrupt?a:ke):i5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function R(Ne){return Ne===45?(i.consume(Ne),p=2,B):Ne===91?(i.consume(Ne),p=5,y=0,j):i5(Ne)?(i.consume(Ne),p=4,d.interrupt?a:ke):u(Ne)}function B(Ne){return Ne===45?(i.consume(Ne),d.interrupt?a:ke):u(Ne)}function j(Ne){const pn="CDATA[";return Ne===pn.charCodeAt(y++)?(i.consume(Ne),y===pn.length?d.interrupt?a:xe:j):u(Ne)}function W(Ne){return i5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function ee(Ne){if(Ne===null||Ne===47||Ne===62||X2(Ne)){const pn=Ne===47,Tt=b.toLowerCase();return!pn&&!v&&IVe.includes(Tt)?(p=1,d.interrupt?a(Ne):xe(Ne)):JJt.includes(b.toLowerCase())?(p=6,pn?(i.consume(Ne),ie):d.interrupt?a(Ne):xe(Ne)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Ne):v?oe(Ne):be(Ne))}return Ne===45||K3(Ne)?(i.consume(Ne),b+=String.fromCharCode(Ne),ee):u(Ne)}function ie(Ne){return Ne===62?(i.consume(Ne),d.interrupt?a:xe):u(Ne)}function oe(Ne){return Iu(Ne)?(i.consume(Ne),oe):pe(Ne)}function be(Ne){return Ne===47?(i.consume(Ne),pe):Ne===58||Ne===95||i5(Ne)?(i.consume(Ne),ge):Iu(Ne)?(i.consume(Ne),be):pe(Ne)}function ge(Ne){return Ne===45||Ne===46||Ne===58||Ne===95||K3(Ne)?(i.consume(Ne),ge):ae(Ne)}function ae(Ne){return Ne===61?(i.consume(Ne),ne):Iu(Ne)?(i.consume(Ne),ae):be(Ne)}function ne(Ne){return Ne===null||Ne===60||Ne===61||Ne===62||Ne===96?u(Ne):Ne===34||Ne===39?(i.consume(Ne),E=Ne,se):Iu(Ne)?(i.consume(Ne),ne):de(Ne)}function se(Ne){return Ne===E?(i.consume(Ne),E=null,X):Ne===null||ro(Ne)?u(Ne):(i.consume(Ne),se)}function de(Ne){return Ne===null||Ne===34||Ne===39||Ne===47||Ne===60||Ne===61||Ne===62||Ne===96||X2(Ne)?ae(Ne):(i.consume(Ne),de)}function X(Ne){return Ne===47||Ne===62||Iu(Ne)?be(Ne):u(Ne)}function pe(Ne){return Ne===62?(i.consume(Ne),G):u(Ne)}function G(Ne){return Ne===null||ro(Ne)?xe(Ne):Iu(Ne)?(i.consume(Ne),G):u(Ne)}function xe(Ne){return Ne===45&&p===2?(i.consume(Ne),je):Ne===60&&p===1?(i.consume(Ne),Ie):Ne===62&&p===4?(i.consume(Ne),Ke):Ne===63&&p===3?(i.consume(Ne),ke):Ne===93&&p===5?(i.consume(Ne),Ce):ro(Ne)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(eZt,zt,U)(Ne)):Ne===null||ro(Ne)?(i.exit("htmlFlowData"),U(Ne)):(i.consume(Ne),xe)}function U(Ne){return i.check(tZt,Be,zt)(Ne)}function Be(Ne){return i.enter("lineEnding"),i.consume(Ne),i.exit("lineEnding"),Pe}function Pe(Ne){return Ne===null||ro(Ne)?U(Ne):(i.enter("htmlFlowData"),xe(Ne))}function je(Ne){return Ne===45?(i.consume(Ne),ke):xe(Ne)}function Ie(Ne){return Ne===47?(i.consume(Ne),b="",Se):xe(Ne)}function Se(Ne){if(Ne===62){const pn=b.toLowerCase();return IVe.includes(pn)?(i.consume(Ne),Ke):xe(Ne)}return i5(Ne)&&b.length<8?(i.consume(Ne),b+=String.fromCharCode(Ne),Se):xe(Ne)}function Ce(Ne){return Ne===93?(i.consume(Ne),ke):xe(Ne)}function ke(Ne){return Ne===62?(i.consume(Ne),Ke):Ne===45&&p===2?(i.consume(Ne),ke):xe(Ne)}function Ke(Ne){return Ne===null||ro(Ne)?(i.exit("htmlFlowData"),zt(Ne)):(i.consume(Ne),Ke)}function zt(Ne){return i.exit("htmlFlow"),a(Ne)}}function iZt(i,a,u){const d=this;return p;function p(b){return ro(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):a(b)}}function sZt(i,a,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(uJ,a,u)}}const aZt={name:"htmlText",tokenize:oZt};function oZt(i,a,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),E}function E(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),be):i5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):i5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),B):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):ro(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),B):P(ke)}function B(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?W:j):u(ke)}function W(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):ro(ke)?(b=W,Ie(ke)):(i.consume(ke),W)}function ee(ke){return ke===93?(i.consume(ke),ie):W(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):W(ke)}function oe(ke){return ke===null||ke===62?je(ke):ro(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function be(ke){return ke===null?u(ke):ke===63?(i.consume(ke),ge):ro(ke)?(b=be,Ie(ke)):(i.consume(ke),be)}function ge(ke){return ke===62?je(ke):be(ke)}function ae(ke){return i5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||K3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return ro(ke)?(b=se,Ie(ke)):Iu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||K3(ke)?(i.consume(ke),de):ke===47||ke===62||X2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||i5(ke)?(i.consume(ke),pe):ro(ke)?(b=X,Ie(ke)):Iu(ke)?(i.consume(ke),X):je(ke)}function pe(ke){return ke===45||ke===46||ke===58||ke===95||K3(ke)?(i.consume(ke),pe):G(ke)}function G(ke){return ke===61?(i.consume(ke),xe):ro(ke)?(b=G,Ie(ke)):Iu(ke)?(i.consume(ke),G):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):ro(ke)?(b=xe,Ie(ke)):Iu(ke)?(i.consume(ke),xe):(i.consume(ke),Be)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Pe):ke===null?u(ke):ro(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Be(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||X2(ke)?X(ke):(i.consume(ke),Be)}function Pe(ke){return ke===47||ke===62||X2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),a):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Iu(ke)?Hl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Qme={name:"labelEnd",tokenize:dZt,resolveTo:fZt,resolveAll:hZt},cZt={tokenize:gZt},uZt={tokenize:pZt},lZt={tokenize:bZt};function hZt(i){let a=-1;for(;++a=3&&(_===null||ro(_))?(i.exit("thematicBreak"),a(_)):u(_)}function E(_){return _===p?(i.consume(_),d++,E):(i.exit("thematicBreakSequence"),Iu(_)?Hl(i,y,"whitespace")(_):y(_))}}const Q2={name:"list",tokenize:CZt,continuation:{tokenize:SZt},exit:AZt},TZt={tokenize:LZt,partial:!0},EZt={tokenize:_Zt,partial:!0};function CZt(i,a,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(B){const j=d.containerState.type||(B===42||B===43||B===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||B===d.containerState.marker:Gme(B)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),B===42||B===45?i.check(lJ,u,_)(B):_(B);if(!d.interrupt||B===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),E(B)}return u(B)}function E(B){return Gme(B)&&++b<10?(i.consume(B),E):(!d.interrupt||b<2)&&(d.containerState.marker?B===d.containerState.marker:B===41||B===46)?(i.exit("listItemValue"),_(B)):u(B)}function _(B){return i.enter("listItemMarker"),i.consume(B),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||B,i.check(uJ,d.interrupt?u:A,i.attempt(TZt,R,P))}function A(B){return d.containerState.initialBlankLine=!0,v++,R(B)}function P(B){return Iu(B)?(i.enter("listItemPrefixWhitespace"),i.consume(B),i.exit("listItemPrefixWhitespace"),R):u(B)}function R(B){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(B)}}function SZt(i,a,u){const d=this;return d.containerState._closeFlow=void 0,i.check(uJ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Hl(i,a,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Iu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(EZt,a,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Hl(i,i.attempt(Q2,a,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function _Zt(i,a,u){const d=this;return Hl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?a(v):u(v)}}function AZt(i){i.exit(this.containerState.type)}function LZt(i,a,u){const d=this;return Hl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Iu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?a(v):u(v)}}const OVe={name:"setextUnderline",tokenize:DZt,resolveTo:MZt};function MZt(i,a){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,a]),i.splice(v+1,0,["exit",i[d][1],a]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,a]),i}function DZt(i,a,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Iu(_)?Hl(i,E,"lineSuffix")(_):E(_))}function E(_){return _===null||ro(_)?(i.exit("setextHeadingLine"),a(_)):u(_)}}const IZt={tokenize:OZt};function OZt(i){const a=this,u=i.attempt(uJ,d,i.attempt(this.parser.constructs.flowInitial,p,Hl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(RJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),a.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),a.currentConstruct=void 0,u}}const NZt={resolveAll:PVe()},PZt=NVe("string"),BZt=NVe("text");function NVe(i){return{tokenize:a,resolveAll:PVe(i==="text"?FZt:void 0)};function a(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),E}function E(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),E)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function $Zt(i,a){let u=-1;const d=[];let p;for(;++u13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"�":String.fromCharCode(u)}const VZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function GZt(i){return i.replace(VZt,KZt)}function KZt(i,a,u){if(a)return a;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return FVe(u.slice(v?2:1),v?16:10)}return Yme(u)||i}function hJ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?RVe(i.position):"start"in i||"end"in i?RVe(i):"line"in i||"column"in i?Zme(i):""}function Zme(i){return jVe(i&&i.line)+":"+jVe(i&&i.column)}function RVe(i){return Zme(i&&i.start)+"-"+Zme(i&&i.end)}function jVe(i){return i&&typeof i=="number"?i:1}const $Ve={}.hasOwnProperty,zVe=function(i,a,u){return typeof a!="string"&&(u=a,a=void 0),WZt(u)(UZt(qZt(u).document().write(HZt()(i,a,!0))))};function WZt(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(ia),autolinkProtocol:G,autolinkEmail:G,atxHeading:y(qr),blockQuote:y(Ze),characterEscape:G,characterReference:G,codeFenced:y(Dt),codeFencedFenceInfo:E,codeFencedFenceMeta:E,codeIndented:y(Dt,E),codeText:y(kt,E),codeTextData:G,data:G,codeFlowValue:G,definition:y(Nn),definitionDestinationString:E,definitionLabelString:E,definitionTitleString:E,emphasis:y(ht),hardBreakEscape:y(xt),hardBreakTrailing:y(xt),htmlFlow:y(Ri,E),htmlFlowData:G,htmlText:y(Ri,E),htmlTextData:G,image:y(wi),label:E,link:y(ia),listItem:y(mo),listItemValue:j,listOrdered:y(Hs,B),listUnordered:y(Hs),paragraph:y(Tr),reference:Tt,referenceString:E,resourceDestinationString:E,resourceTitleString:E,setextHeading:y(qr),strong:y(On),thematicBreak:y(zn)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Bt,autolinkProtocol:yt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Wt,characterReferenceMarkerNumeric:Wt,characterReferenceValue:un,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:W,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(be),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:ge,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Be),hardBreakTrailing:A(Be),htmlFlow:A(Pe),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:zt,resourceTitleString:Ne,resource:pn,setextHeading:A(pe),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};qVe(a,(i||{}).mdastExtensions||[]);const u={};return d;function d(Ct){let gt={type:"root",children:[]};const on={stack:[gt],tokenStack:[],config:a,enter:_,exit:P,buffer:E,resume:R,setData:v,getData:b},dn=[];let Ln=-1;for(;++Ln0){const Io=on.tokenStack[on.tokenStack.length-1];(Io[1]||HVe).call(on,void 0,Io[0])}for(gt.position={start:B9(Ct.length>0?Ct[0][1].start:{line:1,column:1,offset:0}),end:B9(Ct.length>0?Ct[Ct.length-2][1].end:{line:1,column:1,offset:0})},Ln=-1;++Ln{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(E=>{v(E,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function JZt(i){const{children:a}=zVe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"
"):d.type==="strong"?`${d.children.map(u).join("")}`:d.type==="emphasis"?`${d.children.map(u).join("")}`:d.type==="paragraph"?`

${d.children.map(u).join("")}

`:`Unsupported markdown: ${d.type}`}return a.map(u).join("")}function ZZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function een(i,a){const u=ZZt(a.content);return UVe(i,[],u,a.type)}function UVe(i,a,u,d){if(u.length===0)return[{content:a.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...a,p];return i([{content:b.join(""),type:d}])?UVe(i,b,v,d):(a.length===0&&p&&(a.push(p),u.shift()),[{content:a.join(""),type:d},{content:u.join(""),type:d}])}function ten(i,a){if(i.some(({content:u})=>u.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return eve(i,a)}function eve(i,a,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),a(b))return eve(i,a,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,E]=een(a,v);u.push([y]),E.content&&i.unshift(E)}return eve(i,a,u)}function nen(i,a){a&&i.attr("style",a)}function ren(i,a,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=a.label,E=a.isNode?"nodeLabel":"edgeLabel";b.html(bh(` + "+y+"",mh())),nen(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function tve(i,a,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*u-.1+"em").attr("dy",u+"em")}function ien(i,a,u){const d=i.append("text"),p=tve(d,1,a);nve(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function sen(i,a,u){var b;const d=i.append("text"),p=tve(d,1,a);nve(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function aen(i,a,u,d=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let E=0;for(const _ of u){const A=R=>ien(v,1.1,R)<=i,P=A(_)?[_]:ten(_,A);for(const R of P){const B=tve(y,E,1.1);nve(B,R),E++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function nve(i,a){i.text(""),a.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const fJ=(i,a="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:E=!1}={})=>{if(Xe.info("createText",a,u,d,p,v,b,E),v){const _=JZt(a),A={isNode:b,label:uR(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>``),labelStyle:u.replace("fill:","color:")};return ren(i,A,y,p,E)}else{const _=QZt(a);return aen(y,i,_,E)}},g1=async(i,a,u,d)=>{let p;const v=a.useHtmlLabels||h1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",a.domId||a.id),y=b.insert("g").attr("class","label").attr("style",a.labelStyle);let E;a.labelText===void 0?E="":E=typeof a.labelText=="string"?a.labelText:a.labelText[0];const _=y.node();let A;a.labelType==="markdown"?A=fJ(y,bh(uR(E),qt()),{useHtmlLabels:v,width:a.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild(Y2(bh(uR(E),qt()),a.labelStyle,!1,d));let P=A.getBBox();const R=a.padding/2;if(h1(qt().flowchart.htmlLabels)){const B=A.children[0],j=Dr(A),W=B.getElementsByTagName("img");if(W){const ee=E.replace(/]*>/g,"").trim()==="";await Promise.all([...W].map(ie=>new Promise(oe=>{function be(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const ge=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(ge,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&be()}),ie.addEventListener("error",be),ie.addEventListener("load",be)})))}P=B.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),a.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Gh=(i,a)=>{const u=a.node().getBBox();i.width=u.width,i.height=u.height};function s5(i,a,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+u/2+")")}let _o={},W3={},VVe={};const oen=()=>{W3={},VVe={},_o={}},dJ=(i,a)=>(Xe.trace("In isDescendant",a," ",i," = ",W3[a].includes(i)),!!W3[a].includes(i)),cen=(i,a)=>(Xe.info("Descendants of ",a," is ",W3[a]),Xe.info("Edge is ",i),i.v===a||i.w===a?!1:W3[a]?W3[a].includes(i.v)||dJ(i.v,a)||dJ(i.w,a)||W3[a].includes(i.w):(Xe.debug("Tilt, ",a,",not in descendants"),!1)),GVe=(i,a,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",a.node(i),d);const p=a.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(a.children(v).length>0)GVe(v,a,u,d);else{const b=a.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==a.parent(v)&&(Xe.warn("Setting parent",v,a.parent(v)),u.setParent(v,a.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",a.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=a.edges(v);Xe.debug("Copying Edges",y),y.forEach(E=>{Xe.info("Edge",E);const _=a.edge(E.v,E.w,E.name);Xe.info("Edge data",_,d);try{cen(E,d)?(Xe.info("Copying as ",E.v,E.w,_,E.name),u.setEdge(E.v,E.w,_,E.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",E.v,"-->",E.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),a.removeNode(v)})},KVe=(i,a)=>{const u=a.children(i);let d=[...u];for(const p of u)VVe[p]=i,d=[...d,...KVe(p,a)];return d},FR=(i,a)=>{Xe.trace("Searching",i);const u=a.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=FR(d,a);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},gJ=i=>!_o[i]||!_o[i].externalConnections?i:_o[i]?_o[i].id:i,uen=(i,a)=>{if(!i||a>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",FR(u,i)),W3[u]=KVe(u,i),_o[u]={id:FR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,W3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=dJ(v.v,u),y=dJ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",W3[u]),_o[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,W3)});for(let u of Object.keys(_o)){const d=_o[u].id,p=i.parent(d);p!==u&&_o[p]&&!_o[p].externalConnections&&(_o[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",_o,"ids:",u.v,u.w,"Translating: ",_o[u.v]," --- ",_o[u.w]),_o[u.v]&&_o[u.w]&&_o[u.v]===_o[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=gJ(u.v),v=gJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),E=structuredClone(d);y.label="",y.arrowTypeEnd="none",E.label="",y.fromCluster=u.v,E.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,E,u.name+"-cyclic-special")}else if(_o[u.v]||_o[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=gJ(u.v),v=gJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);_o[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);_o[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",H7(i)),WVe(i,0),Xe.trace(_o)},WVe=(i,a)=>{if(Xe.warn("extractor - ",a,H7(i),i.children("D")),a>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,a);for(const p of u)if(Xe.debug("Extracting node",p,_o,_o[p]&&!_o[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",a),!_o[p])Xe.debug("Not a cluster",p,a);else if(!_o[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,a);let b=i.graph().rankdir==="TB"?"LR":"TB";_o[p]&&_o[p].clusterData&&_o[p].clusterData.dir&&(b=_o[p].clusterData.dir,Xe.warn("Fixing dir",_o[p].clusterData.dir,b));const y=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",H7(i)),GVe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:_o[p].clusterData,labelText:_o[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",H7(y)),Xe.debug("Old graph after copy",H7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!_o[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),a),Xe.debug(_o);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&WVe(v.graph,a+1)}},YVe=(i,a)=>{if(a.length===0)return[];let u=Object.assign(a);return a.forEach(d=>{const p=i.children(d),v=YVe(i,p);u=[...u,...v]}),u},len=i=>YVe(i,i.children());function hen(i,a){return i.intersect(a)}function XVe(i,a,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,E=Math.sqrt(a*a*y*y+u*u*b*b),_=Math.abs(a*u*b/E);d.x0}function gen(i,a,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,a.x),y=Math.min(y,a.y));for(var E=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oe{var u=i.x,d=i.y,p=a.x-u,v=a.y-d,b=i.width/2,y=i.height/2,E,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),E=v===0?0:y*p/v,_=y):(p<0&&(b=-b),E=b,_=p===0?0:b*v/p),{x:u+E,y:d+_}},yh={node:hen,circle:fen,ellipse:XVe,polygon:gen,rect:RR},pen=async(i,a)=>{a.useHtmlLabels||qt().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await g1(i,a,"node "+a.classes,!0);Xe.info("Classes = ",a.classes);const b=d.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Gh(a,b),a.intersect=function(y){return yh.rect(a,y)},d},ben=i=>{const a=new Set;for(const u of i)switch(u){case"x":a.add("right"),a.add("left");break;case"y":a.add("up"),a.add("down");break;default:a.add(u);break}return a},men=(i,a,u)=>{const d=ben(i),p=2,v=a.height+2*u.padding,b=v/p,y=a.width+2*b+u.padding,E=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*E},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*E,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*E},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*E,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-E},{x:b,y:-E},{x:b,y:-v+E},{x:0,y:-v+E},{x:y/2,y:-v},{x:y,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E},{x:y,y:-E}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-E},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v+E}]:d.has("left")?[{x:b,y:0},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-E},{x:b,y:-v+E},{x:0,y:-v+E},{x:y/2,y:-v},{x:y,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-E},{x:b,y:-E},{x:b,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E},{x:y,y:-E}]:[{x:0,y:0}]},JVe=i=>i?" "+i:"",km=(i,a)=>`${a||"node default"}${JVe(i.classes)} ${JVe(i.class)}`,ZVe=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const E=s5(u,b,b,y);return E.attr("style",a.style),Gh(a,E),a.intersect=function(_){return Xe.warn("Intersect called"),yh.polygon(a,y,_)},u},ven=(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return yh.circle(a,14,b)},u},wen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=4,v=d.height+a.padding,b=v/p,y=d.width+2*b+a.padding,E=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=s5(u,y,v,E);return _.attr("style",a.style),Gh(a,_),a.intersect=function(A){return yh.polygon(a,E,A)},u},yen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,void 0,!0),p=2,v=d.height+2*a.padding,b=v/p,y=d.width+2*b+a.padding,E=men(a.directions,d,a),_=s5(u,y,v,E);return _.attr("style",a.style),Gh(a,_),a.intersect=function(A){return yh.polygon(a,E,A)},u},xen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return s5(u,p,v,b).attr("style",a.style),a.width=p+v,a.height=v,a.intersect=function(E){return yh.polygon(a,b,E)},u},ken=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Ten=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Een=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Cen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Sen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},_en=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+a.padding,E="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",E).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Gh(a,_),a.intersect=function(A){const P=yh.rect(a,A),R=P.x-a.x;if(v!=0&&(Math.abs(R)a.height/2-b)){let B=b*b*(1-R*R/(v*v));B!=0&&(B=Math.sqrt(B)),B=b-B,A.y-a.y>0&&(B=-B),P.y+=B}return P},u},Aen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,"node "+a.classes+" "+a.class,!0),v=u.insert("rect",":first-child"),b=a.positioned?a.width:d.width+a.padding,y=a.positioned?a.height:d.height+a.padding,E=a.positioned?-b/2:-d.width/2-p,_=a.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",E).attr("y",_).attr("width",b).attr("height",y),a.props){const A=new Set(Object.keys(a.props));a.props.borders&&(rve(v,a.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Gh(a,v),a.intersect=function(A){return yh.rect(a,A)},u},Len=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,"node "+a.classes,!0),v=u.insert("rect",":first-child"),b=a.positioned?a.width:d.width+a.padding,y=a.positioned?a.height:d.height+a.padding,E=a.positioned?-b/2:-d.width/2-p,_=a.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",E).attr("y",_).attr("width",b).attr("height",y),a.props){const A=new Set(Object.keys(a.props));a.props.borders&&(rve(v,a.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Gh(a,v),a.intersect=function(A){return yh.rect(a,A)},u},Men=async(i,a)=>{const{shapeSvg:u}=await g1(i,a,"label",!0);Xe.trace("Classes = ",a.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(rve(d,a.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Gh(a,d),a.intersect=function(b){return yh.rect(a,b)},u};function rve(i,a,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};a.includes("t")?(Xe.debug("add top border"),v(u)):b(u),a.includes("r")?(Xe.debug("add right border"),v(d)):b(d),a.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),a.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const Den=(i,a)=>{let u;a.classes?u="node "+a.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",a.domId||a.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=a.labelText.flat?a.labelText.flat():a.labelText;let E="";typeof y=="object"?E=y[0]:E=y,Xe.info("Label text abc79",E,y,typeof y=="object");const _=b.node().appendChild(Y2(E,a.labelStyle,!0,!0));let A={width:0,height:0};if(h1(qt().flowchart.htmlLabels)){const W=_.children[0],ee=Dr(_);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const B=b.node().appendChild(Y2(P.join?P.join("
"):P,a.labelStyle,!0,!0));if(h1(qt().flowchart.htmlLabels)){const W=B.children[0],ee=Dr(B);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=a.padding/2;return Dr(B).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Dr(_).attr("transform","translate( "+(A.width{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.height+a.padding,v=d.width+p/4+a.padding,b=u.insert("rect",":first-child").attr("style",a.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Gh(a,b),a.intersect=function(y){return yh.rect(a,y)},u},Oen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,km(a,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p).attr("width",d.width+a.padding).attr("height",d.height+a.padding),Xe.info("Circle main"),Gh(a,v),a.intersect=function(b){return Xe.info("Circle intersect",a,d.width/2+p,b),yh.circle(a,d.width/2+p,b)},u},Nen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,km(a,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),E=b.insert("circle");return b.attr("class",a.class),y.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p+v).attr("width",d.width+a.padding+v*2).attr("height",d.height+a.padding+v*2),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p).attr("width",d.width+a.padding).attr("height",d.height+a.padding),Xe.info("DoubleCircle main"),Gh(a,y),a.intersect=function(_){return Xe.info("DoubleCircle intersect",a,d.width/2+p+v,_),yh.circle(a,d.width/2+p+v,_)},u},Pen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Ben=(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Gh(a,d),a.intersect=function(p){return yh.circle(a,7,p)},u},eGe=(i,a,u)=>{const d=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Gh(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(y){return yh.rect(a,y)},d},tGe={rhombus:ZVe,composite:Len,question:ZVe,rect:Aen,labelRect:Men,rectWithTitle:Den,choice:ven,circle:Oen,doublecircle:Nen,stadium:Ien,hexagon:wen,block_arrow:yen,rect_left_inv_arrow:xen,lean_right:ken,lean_left:Ten,trapezoid:Een,inv_trapezoid:Cen,rect_right_inv_arrow:Sen,cylinder:_en,start:Ben,end:(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Gh(a,p),a.intersect=function(v){return yh.circle(a,7,v)},u},note:pen,subroutine:Pen,fork:eGe,join:eGe,class_box:(i,a)=>{const u=a.padding/2,d=4,p=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),y=b.insert("rect",":first-child"),E=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let B=0;const j=a.classData.annotations&&a.classData.annotations[0],W=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",ee=R.node().appendChild(Y2(W,a.labelStyle,!0,!0));let ie=ee.getBBox();if(h1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Dr(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}a.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="<"+a.classData.type+">":oe+="<"+a.classData.type+">");const be=R.node().appendChild(Y2(oe,a.labelStyle,!0,!0));Dr(be).attr("class","classTitle");let ge=be.getBBox();if(h1(qt().flowchart.htmlLabels)){const de=be.children[0],X=Dr(be);ge=de.getBoundingClientRect(),X.attr("width",ge.width),X.attr("height",ge.height)}P+=ge.height+d,ge.width>A&&(A=ge.width);const ae=[];a.classData.members.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(//g,">"));const G=R.node().appendChild(Y2(pe,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let xe=G.getBBox();if(h1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Dr(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(G)}),P+=p;const ne=[];if(a.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(//g,">"));const G=R.node().appendChild(Y2(pe,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let xe=G.getBBox();if(h1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Dr(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(G)}),P+=p,j){let de=(A-ie.width)/2;Dr(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),B=ie.height+d}let se=(A-ge.width)/2;return Dr(be).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+B)+")"),B+=ge.height+d,E.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+B).attr("y2",-P/2-u+p+B),B+=p,ae.forEach(de=>{Dr(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+B+p/2)+")");const X=de==null?void 0:de.getBBox();B+=((X==null?void 0:X.height)??0)+d}),B+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+B).attr("y2",-P/2-u+p+B),B+=p,ne.forEach(de=>{Dr(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+B)+")");const X=de==null?void 0:de.getBBox();B+=((X==null?void 0:X.height)??0)+d}),y.attr("style",a.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+a.padding).attr("height",P+a.padding),Gh(a,y),a.intersect=function(de){return yh.rect(a,de)},b}};let JD={};const pJ=async(i,a,u)=>{let d,p;if(a.link){let v;qt().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),p=await tGe[a.shape](d,a,u)}else p=await tGe[a.shape](i,a,u),d=p;return a.tooltip&&p.attr("title",a.tooltip),a.class&&p.attr("class","node default "+a.class),d.attr("data-node","true"),d.attr("data-id",a.id),JD[a.id]=d,a.haveCallback&&JD[a.id].attr("class",JD[a.id].attr("class")+" clickable"),d},Fen=(i,a)=>{JD[a.id]=i},Ren=()=>{JD={}},ive=i=>{const a=JD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),d},bJ=({flowchart:i})=>{var p,v;const a=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=a+u;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},jen={rect:(i,a)=>{Xe.info("Creating subgraph rect for ",a.id,a);const u=qt(),d=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),p=d.insert("rect",":first-child"),v=h1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=a.labelType==="markdown"?fJ(b,a.labelText,{style:a.labelStyle,useHtmlLabels:v}):b.node().appendChild(Y2(a.labelText,a.labelStyle,void 0,!0));let E=y.getBBox();if(h1(u.flowchart.htmlLabels)){const j=y.children[0],W=Dr(y);E=j.getBoundingClientRect(),W.attr("width",E.width),W.attr("height",E.height)}const _=0*a.padding,A=_/2,P=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Xe.trace("Data ",a,JSON.stringify(a)),p.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-P/2).attr("y",a.y-a.height/2-A).attr("width",P).attr("height",a.height+_);const{subGraphTitleTopMargin:R}=bJ(u);v?b.attr("transform",`translate(${a.x-E.width/2}, ${a.y-a.height/2+R})`):b.attr("transform",`translate(${a.x}, ${a.y-a.height/2+R})`);const B=p.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(j){return RR(a,j)},d},roundedWithTitle:(i,a)=>{const u=qt(),d=i.insert("g").attr("class",a.classes).attr("id",a.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild(Y2(a.labelText,a.labelStyle,void 0,!0));let E=y.getBBox();if(h1(u.flowchart.htmlLabels)){const j=y.children[0],W=Dr(y);E=j.getBoundingClientRect(),W.attr("width",E.width),W.attr("height",E.height)}E=y.getBBox();const _=0*a.padding,A=_/2,P=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,p.attr("class","outer").attr("x",a.x-P/2-A).attr("y",a.y-a.height/2-A).attr("width",P+_).attr("height",a.height+_),b.attr("class","inner").attr("x",a.x-P/2-A).attr("y",a.y-a.height/2-A+E.height-1).attr("width",P+_).attr("height",a.height+_-E.height-3);const{subGraphTitleTopMargin:R}=bJ(u);v.attr("transform",`translate(${a.x-E.width/2}, ${a.y-a.height/2-a.padding/3+(h1(u.flowchart.htmlLabels)?5:3)+R})`);const B=p.node().getBBox();return a.height=B.height,a.intersect=function(j){return RR(a,j)},d},noteGroup:(i,a)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",a.id),d=u.insert("rect",":first-child"),p=0*a.padding,v=p/2;d.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+p).attr("height",a.height+p).attr("fill","none");const b=d.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(y){return RR(a,y)},u},divider:(i,a)=>{const u=i.insert("g").attr("class",a.classes).attr("id",a.id),d=u.insert("rect",":first-child"),p=0*a.padding,v=p/2;d.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+p).attr("height",a.height+p);const b=d.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(y){return RR(a,y)},u}};let nGe={};const $en=(i,a)=>{Xe.trace("Inserting cluster");const u=a.shape||"rect";nGe[a.id]=jen[u](i,a)},zen=()=>{nGe={}},F9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function mJ(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=vJ(i),a=vJ(a);const[u,d]=[i.x,i.y],[p,v]=[a.x,a.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const vJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,rGe=i=>({x:function(a,u,d){let p=0;if(u===0&&Object.hasOwn(F9,i.arrowTypeStart)){const{angle:v,deltaX:b}=mJ(d[0],d[1]);p=F9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(F9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=mJ(d[d.length-1],d[d.length-2]);p=F9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return vJ(a).x+p},y:function(a,u,d){let p=0;if(u===0&&Object.hasOwn(F9,i.arrowTypeStart)){const{angle:v,deltaY:b}=mJ(d[0],d[1]);p=F9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(F9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=mJ(d[d.length-1],d[d.length-2]);p=F9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return vJ(a).y+p}}),iGe=(i,a,u,d,p)=>{a.arrowTypeStart&&sGe(i,"start",a.arrowTypeStart,u,d,p),a.arrowTypeEnd&&sGe(i,"end",a.arrowTypeEnd,u,d,p)},qen={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},sGe=(i,a,u,d,p,v)=>{const b=qen[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${d}#${p}_${v}-${b}${y})`)};let wJ={},Vd={};const Hen=()=>{wJ={},Vd={}},sve=(i,a)=>{const u=h1(qt().flowchart.htmlLabels),d=a.labelType==="markdown"?fJ(i,a.label,{style:a.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):Y2(a.label,a.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const E=d.children[0],_=Dr(d);b=E.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),wJ[a.id]=p,a.width=b.width,a.height=b.height;let y;if(a.startLabelLeft){const E=Y2(a.startLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].startLeft=_,yJ(y,a.startLabelLeft)}if(a.startLabelRight){const E=Y2(a.startLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(E),A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].startRight=_,yJ(y,a.startLabelRight)}if(a.endLabelLeft){const E=Y2(a.endLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(E),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].endLeft=_,yJ(y,a.endLabelLeft)}if(a.endLabelRight){const E=Y2(a.endLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(E),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].endRight=_,yJ(y,a.endLabelRight)}return d};function yJ(i,a){qt().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const aGe=(i,a)=>{Xe.debug("Moving label abc88 ",i.id,i.label,wJ[i.id],a);let u=a.updatedPath?a.updatedPath:a.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=bJ(d);if(i.label){const v=wJ[i.id];let b=i.x,y=i.y;if(u){const E=So.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",E.x,",",E.y,") abc88"),a.updatedPath&&(b=E.x,y=E.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=Vd[i.id].startLeft;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=Vd[i.id].startRight;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=Vd[i.id].endLeft;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=Vd[i.id].endRight;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}},Uen=(i,a)=>{const u=i.x,d=i.y,p=Math.abs(a.x-u),v=Math.abs(a.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Ven=(i,a,u)=>{Xe.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(a)} + insidePoint : ${JSON.stringify(u)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.xMath.abs(d-a.x)*E){let P=u.y{Xe.debug("abc88 cutPathAtIntersect",i,a);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Uen(a,v)&&!p){const b=Ven(a,d,v);let y=!1;u.forEach(E=>{y=y||E.x===b.x&&E.y===b.y}),u.some(E=>E.x===b.x&&E.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},cGe=function(i,a,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",a);let E=!1;const _=v.node(a.v);var A=v.node(a.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=oGe(u.points,d[u.toCluster].node),E=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=oGe(y.reverse(),d[u.fromCluster].node).reverse(),E=!0);const P=y.filter(ge=>!Number.isNaN(ge.y));let R=VF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:B,y:j}=rGe(u),W=E7().x(B).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",W(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),iGe(ie,u,oe,b,p);let be={};return E&&(be.updatedPath=y),be.originalPath=u.points,be},uGe=async(i,a,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",H7(a),p);const b=a.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");a.nodes()?Xe.info("Recursive render XXX",a.nodes()):Xe.info("No nodes found for",a),a.edges().length>0&&Xe.trace("Recursive edges",a.edge(a.edges()[0]));const E=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(j){const W=a.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),a.setNode(p.id,ee),a.parent(j)||(Xe.trace("Setting parent",j,p.id),a.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(a.node(j))),W&&W.clusterNode){Xe.info("Cluster identified",j,W.width,a.node(j));const ee=await uGe(P,W.graph,u,d,a.node(j),v),ie=ee.elem;Gh(W,ie),W.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,W,W.width,W.x,W.y),Fen(ie,W),Xe.warn("Recursive render complete ",ie,W)}else a.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,W.id,W,a),Xe.info(FR(W.id,a)),_o[W.id]={id:FR(W.id,a),node:W}):(Xe.info("Node - the non recursive path",j,W.id,W),await pJ(P,a.node(j),b))})),a.edges().forEach(function(j){const W=a.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(a.edge(j))),Xe.info("Fix",_o,"ids:",j.v,j.w,"Translating: ",_o[j.v],_o[j.w]),sve(A,W)}),a.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(a),XD(a),Xe.info("Graph after layout:",H7(a));let R=0;const{subGraphTitleTotalMargin:B}=bJ(v);return len(a).forEach(function(j){const W=a.node(j);Xe.info("Position "+j+": "+JSON.stringify(a.node(j))),Xe.info("Position "+j+": ("+W.x,","+W.y,") width: ",W.width," height: ",W.height),W&&W.clusterNode?(W.y+=B,ive(W)):a.children(j).length>0?(W.height+=B,$en(E,W),_o[W.id].node=W):(W.y+=B/2,ive(W))}),a.edges().forEach(function(j){const W=a.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(W),W),W.points.forEach(ie=>ie.y+=B/2);const ee=cGe(_,j,W,_o,u,a,d);aGe(W,ee)}),a.nodes().forEach(function(j){const W=a.node(j);Xe.info(j,W.type,W.diff),W.type==="group"&&(R=W.diff)}),{elem:y,diff:R}},ave=async(i,a,u,d,p)=>{Ume(i,u,d,p),Ren(),Hen(),zen(),oen(),Xe.warn("Graph at first:",JSON.stringify(H7(a))),uen(a),Xe.warn("Graph after:",JSON.stringify(H7(a)));const v=qt();await uGe(i,a,d,p,void 0,v)},lGe={},Gen=function(i){const a=Object.keys(i);for(const u of a)lGe[u]=i[u]},hGe=async function(i,a,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const E of y){const _=i[E];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=gm(_.styles);let R=_.text!==void 0?_.text:_.id,B;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(h1(qt().flowchart.htmlLabels))B=Bme(b,{label:R}).node(),B.parentNode.removeChild(B);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(oi.lineBreakRegex);for(const be of oe){const ge=p.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}B=ie}let j=0,W="";switch(_.type){case"round":j=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}const ee=await SC(R,qt());a.setNode(_.id,{labelStyle:P.labelStyle,shape:W,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:W,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},fGe=async function(i,a,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=gm(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const E="L-"+y.start+"-"+y.end;p[E]===void 0?(p[E]=0,Xe.info("abc78 new entry",E,p[E])):(p[E]++,Xe.info("abc78 new entry",E,p[E]));let _=E+"-"+p[E];Xe.info("abc78 new link id to be used is",E,_,p[E]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let B="",j="";switch(y.stroke){case"normal":B="fill:none;",v!==void 0&&(B=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const W=gm(y.style);B=W.style,j=W.labelStyle}R.style=R.style+=B,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=qv(y.interpolate,Sp):i.defaultInterpolate!==void 0?R.curve=qv(i.defaultInterpolate,Sp):R.curve=qv(lGe.curve,Sp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await SC(y.text.replace(oi.lineBreakRegex,` +`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,a.setEdge(y.start,y.end,R,d)}},ove={setConf:Gen,addVertices:hGe,addEdges:fGe,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,E=b.rankSpacing||50;let _;v==="sandbox"&&(_=Dr("#i"+a));const A=Dr(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:E,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let B;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)B=j[ae],Xe.info("Subgraph - ",B),d.db.addVertex(B.id,{text:B.title,type:B.labelType},"group",void 0,B.classes,B.dir);const W=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){B=j[ie],VBe("cluster").append("text");for(let ae=0;ae{const u=XRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return _C(d,p,v,a)},dGe=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Ken(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,Wen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lme,db:UC,renderer:ove,styles:dGe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,WQt.setConf(i.flowchart),UC.clear(),UC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Yen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lme,db:UC,renderer:ove,styles:dGe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,c$t({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),ove.setConf(i.flowchart),UC.clear(),UC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var cve=function(){var i=function(de,X,pe,G){for(pe=pe||{},G=de.length;G--;pe[de[G]]=X);return pe},a=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],E=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],B=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],W=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],be=[1,53],ge=[17,34,36,38],ae={trace:function(){},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,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pe,G,xe,U,Be,Pe){var je=Be.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Be[je-1].push(Be[je]),this.$=Be[je-1];break;case 4:case 5:this.$=Be[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Be[je-4]),xe.addEntity(Be[je-2]),xe.addRelationship(Be[je-4],Be[je],Be[je-2],Be[je-3]);break;case 9:xe.addEntity(Be[je-3]),xe.addAttributes(Be[je-3],Be[je-1]);break;case 10:xe.addEntity(Be[je-2]);break;case 11:xe.addEntity(Be[je]);break;case 12:xe.addEntity(Be[je-6],Be[je-4]),xe.addAttributes(Be[je-6],Be[je-1]);break;case 13:xe.addEntity(Be[je-5],Be[je-3]);break;case 14:xe.addEntity(Be[je-3],Be[je-1]);break;case 15:case 16:this.$=Be[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Be[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Be[je];break;case 20:case 41:case 42:this.$=Be[je].replace(/"/g,"");break;case 21:case 29:this.$=[Be[je]];break;case 22:Be[je].push(Be[je-1]),this.$=Be[je];break;case 23:this.$={attributeType:Be[je-1],attributeName:Be[je]};break;case 24:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeKeyTypeList:Be[je]};break;case 25:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeComment:Be[je]};break;case 26:this.$={attributeType:Be[je-3],attributeName:Be[je-2],attributeKeyTypeList:Be[je-1],attributeComment:Be[je]};break;case 27:case 28:case 31:this.$=Be[je];break;case 30:Be[je-2].push(Be[je]),this.$=Be[je-2];break;case 32:this.$=Be[je].replace(/"/g,"");break;case 33:this.$={cardA:Be[je],relType:Be[je-1],cardB:Be[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:E,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(B,[2,19]),i(B,[2,20]),i(a,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:E,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:be}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:be}),i(ie,[2,25]),i(ge,[2,29]),i(ie,[2,32]),i(ge,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(a,[2,13]),i(ge,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pe){if(pe.recoverable)this.trace(X);else{var G=new Error(X);throw G.hash=pe,G}},parse:function(X){var pe=this,G=[0],xe=[],U=[null],Be=[],Pe=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Be.slice.call(arguments,1),zt=Object.create(this.lexer),Ne={yy:{}};for(var pn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pn)&&(Ne.yy[pn]=this.yy[pn]);zt.setInput(X,Ne.yy),Ne.yy.lexer=zt,Ne.yy.parser=this,typeof zt.yylloc>"u"&&(zt.yylloc={});var Tt=zt.yylloc;Be.push(Tt);var Et=zt.options&&zt.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Wt(){var Ri;return Ri=xe.pop()||zt.lex()||ke,typeof Ri!="number"&&(Ri instanceof Array&&(xe=Ri,Ri=xe.pop()),Ri=pe.symbols_[Ri]||Ri),Ri}for(var un,yt,Bt,Ze,Dt={},kt,Nn,ht,qr;;){if(yt=G[G.length-1],this.defaultActions[yt]?Bt=this.defaultActions[yt]:((un===null||typeof un>"u")&&(un=Wt()),Bt=Pe[yt]&&Pe[yt][un]),typeof Bt>"u"||!Bt.length||!Bt[0]){var xt="";qr=[];for(kt in Pe[yt])this.terminals_[kt]&&kt>Ce&&qr.push("'"+this.terminals_[kt]+"'");zt.showPosition?xt="Parse error on line "+(Ie+1)+`: +`+zt.showPosition()+` +Expecting `+qr.join(", ")+", got '"+(this.terminals_[un]||un)+"'":xt="Parse error on line "+(Ie+1)+": Unexpected "+(un==ke?"end of input":"'"+(this.terminals_[un]||un)+"'"),this.parseError(xt,{text:zt.match,token:this.terminals_[un]||un,line:zt.yylineno,loc:Tt,expected:qr})}if(Bt[0]instanceof Array&&Bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yt+", token: "+un);switch(Bt[0]){case 1:G.push(un),U.push(zt.yytext),Be.push(zt.yylloc),G.push(Bt[1]),un=null,Se=zt.yyleng,je=zt.yytext,Ie=zt.yylineno,Tt=zt.yylloc;break;case 2:if(Nn=this.productions_[Bt[1]][1],Dt.$=U[U.length-Nn],Dt._$={first_line:Be[Be.length-(Nn||1)].first_line,last_line:Be[Be.length-1].last_line,first_column:Be[Be.length-(Nn||1)].first_column,last_column:Be[Be.length-1].last_column},Et&&(Dt._$.range=[Be[Be.length-(Nn||1)].range[0],Be[Be.length-1].range[1]]),Ze=this.performAction.apply(Dt,[je,Se,Ie,Ne.yy,Bt[1],U,Be].concat(Ke)),typeof Ze<"u")return Ze;Nn&&(G=G.slice(0,-1*Nn*2),U=U.slice(0,-1*Nn),Be=Be.slice(0,-1*Nn)),G.push(this.productions_[Bt[1]][0]),U.push(Dt.$),Be.push(Dt._$),ht=Pe[G[G.length-2]][G[G.length-1]],G.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(pe,G){if(this.yy.parser)this.yy.parser.parseError(pe,G);else throw new Error(pe)},setInput:function(X,pe){return this.yy=pe||this.yy||{},this._input=X,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},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pe=X.match(/(?:\r\n?|\n).*/g);return pe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pe=X.length,G=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pe),this.offset-=pe;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),G.length-1&&(this.yylineno-=G.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:G?(G.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-G.length].length-G[0].length:this.yylloc.first_column-pe},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-pe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pe=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+pe+"^"},test_match:function(X,pe){var G,xe,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))),xe=X[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+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,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(X[0].length),this.matched+=X[0],G=this.performAction.call(this,this.yy,this,pe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),G)return G;if(this._backtrack){for(var Be in U)this[Be]=U[Be];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pe,G,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Be=0;Bepe[0].length)){if(pe=G,xe=Be,this.options.backtrack_lexer){if(X=this.test_match(G,U[Be]),X!==!1)return X;if(this._backtrack){pe=!1;continue}else return!1}else if(!this.options.flex)break}return pe?(X=this.test_match(pe,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pe=this.next();return pe||this.lex()},begin:function(pe){this.conditionStack.push(pe)},popState:function(){var pe=this.conditionStack.length-1;return pe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pe){return pe=this.conditionStack.length-1-Math.abs(pe||0),pe>=0?this.conditionStack[pe]:"INITIAL"},pushState:function(pe){this.begin(pe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pe,G,xe,U){switch(xe){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;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 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return G.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return G.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/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,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,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],inclusive:!0}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();cve.parser=cve;const Xen=cve;let R9={},uve=[];const Qen={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"},Jen={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},gGe=function(i,a=void 0){return R9[i]===void 0?(R9[i]={attributes:[],alias:a},Xe.info("Added new entity :",i)):R9[i]&&!R9[i].alias&&a&&(R9[i].alias=a,Xe.info(`Add alias '${a}' to entity '${i}'`)),R9[i]},Zen={Cardinality:Qen,Identification:Jen,getConfig:()=>qt().er,addEntity:gGe,addAttributes:function(i,a){let u=gGe(i),d;for(d=a.length-1;d>=0;d--)u.attributes.push(a[d]),Xe.debug("Added attribute ",a[d].attributeName)},getEntities:()=>R9,addRelationship:function(i,a,u,d){let p={entityA:i,roleA:a,entityB:u,relSpec:d};uve.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>uve,clear:function(){R9={},uve=[],Rg()},setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,setDiagramTitle:pm,getDiagramTitle:Op},Y3={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},X3={ERMarkers:Y3,insertMarkers:function(i,a){let u;i.append("defs").append("marker").attr("id",Y3.MD_PARENT_START).attr("refX",0).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"),i.append("defs").append("marker").attr("id",Y3.MD_PARENT_END).attr("refX",19).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"),i.append("defs").append("marker").attr("id",Y3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",Y3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",Y3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",Y3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},etn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ttn(i){return typeof i=="string"&&etn.test(i)}const Gd=[];for(let i=0;i<256;++i)Gd.push((i+256).toString(16).slice(1));function ntn(i,a=0){return Gd[i[a+0]]+Gd[i[a+1]]+Gd[i[a+2]]+Gd[i[a+3]]+"-"+Gd[i[a+4]]+Gd[i[a+5]]+"-"+Gd[i[a+6]]+Gd[i[a+7]]+"-"+Gd[i[a+8]]+Gd[i[a+9]]+"-"+Gd[i[a+10]]+Gd[i[a+11]]+Gd[i[a+12]]+Gd[i[a+13]]+Gd[i[a+14]]+Gd[i[a+15]]}function rtn(i){if(!ttn(i))throw TypeError("Invalid UUID");let a;const u=new Uint8Array(16);return u[0]=(a=parseInt(i.slice(0,8),16))>>>24,u[1]=a>>>16&255,u[2]=a>>>8&255,u[3]=a&255,u[4]=(a=parseInt(i.slice(9,13),16))>>>8,u[5]=a&255,u[6]=(a=parseInt(i.slice(14,18),16))>>>8,u[7]=a&255,u[8]=(a=parseInt(i.slice(19,23),16))>>>8,u[9]=a&255,u[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=a/4294967296&255,u[12]=a>>>24&255,u[13]=a>>>16&255,u[14]=a>>>8&255,u[15]=a&255,u}function itn(i){i=unescape(encodeURIComponent(i));const a=[];for(let u=0;u>>32-a}function utn(i){const a=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y>>0;R=P,P=A,A=lve(_,30)>>>0,_=E,E=W}u[0]=u[0]+E>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const ltn=otn("v5",80,utn),htn=/[^\dA-Za-z](\W)*/g;let p1={},jR=new Map;const ftn=function(i){const a=Object.keys(i);for(const u of a)p1[u]=i[u]},dtn=(i,a,u)=>{const d=p1.entityPadding/3,p=p1.entityPadding/3,v=p1.fontSize*.85,b=a.node().getBBox(),y=[];let E=!1,_=!1,A=0,P=0,R=0,B=0,j=b.height+d*2,W=1;u.forEach(be=>{be.attributeKeyTypeList!==void 0&&be.attributeKeyTypeList.length>0&&(E=!0),be.attributeComment!==void 0&&(_=!0)}),u.forEach(be=>{const ge=`${a.node().id}-attr-${W}`;let ae=0;const ne=JF(be.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeName),X={};X.tn=se,X.nn=de;const pe=se.node().getBBox(),G=de.node().getBBox();if(A=Math.max(A,pe.width),P=Math.max(P,G.width),ae=Math.max(pe.height,G.height),E){const xe=be.attributeKeyTypeList!==void 0?be.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Be=U.node().getBBox();R=Math.max(R,Be.width),ae=Math.max(ae,Be.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();B=Math.max(B,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,W+=1});let ee=4;E&&(ee+=2),_&&(ee+=2);const ie=A+P+R+B,oe={width:Math.max(p1.minEntityWidth,Math.max(b.width+p1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(p1.minEntityHeight,b.height+p1.entityPadding*2)};if(u.length>0){const be=Math.max(0,(oe.width-ie-p*ee)/(ee/2));a.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let ge=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=ge+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",ge).attr("width",A+p*2+be).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const pe=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",ge).attr("width",P+p*2+be).attr("height",ne.height+d*2);let G=parseFloat(pe.attr("x"))+parseFloat(pe.attr("width"));if(E){ne.kn.attr("transform","translate("+(G+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",G).attr("y",ge).attr("width",R+p*2+be).attr("height",ne.height+d*2);G=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(G+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",G).attr("y",ge).attr("width",B+p*2+be).attr("height",ne.height+d*2)),ge+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(p1.minEntityHeight,j),a.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},gtn=function(i,a,u){const d=Object.keys(a);let p;return d.forEach(function(v){const b=ytn(v,"entity");jR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const E="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",E).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(a[v].alias??v),{width:A,height:P}=dtn(y,_,a[v].attributes),B=y.insert("rect","#"+E).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:B.width,height:B.height,shape:"rect",id:b})}),p},ptn=function(i,a){a.nodes().forEach(function(u){u!==void 0&&a.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(a.node(u).x-a.node(u).width/2)+","+(a.node(u).y-a.node(u).height/2)+" )")})},pGe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},btn=function(i,a){return i.forEach(function(u){a.setEdge(jR.get(u.entityA),jR.get(u.entityB),{relationship:u},pGe(u))}),i};let bGe=0;const mtn=function(i,a,u,d,p){bGe++;const v=u.edge(jR.get(a.entityA),jR.get(a.entityB),pGe(a)),b=E7().x(function(j){return j.x}).y(function(j){return j.y}).curve(VF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",p1.stroke).style("fill","none");a.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let E="";switch(p1.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),a.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+bGe,B=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-B.width/2).attr("y",A.y-B.height/2).attr("width",B.width).attr("height",B.height)},vtn=function(i,a,u,d){p1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const y=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);X3.insertMarkers(y,p1);let E;E=new R0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:p1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=gtn(y,d.db.getEntities(),E),A=btn(d.db.getRelationships(),E);XD(E),ptn(y,E),A.forEach(function(W){mtn(y,W,E,_,d)});const P=p1.diagramPadding;So.insertTitle(y,"entityTitleText",p1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),B=R.width+P*2,j=R.height+P*2;Fg(y,j,B,p1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${B} ${j}`)},wtn="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function ytn(i="",a=""){const u=i.replace(htn,"");return`${mGe(a)}${mGe(u)}${ltn(i,wtn)}`}function mGe(i=""){return i.length>0?`${i}-`:""}const xtn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Xen,db:Zen,renderer:{setConf:ftn,draw:vtn},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var hve=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},a=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],E=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],B=[7,13,29,32,35,38,47],j=[1,55],W=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ne,se,de,X,pe,G,xe){var U=G.length-1;switch(pe){case 2:return G[U];case 3:return G[U-1];case 4:return X.setDirection(G[U-3]),G[U-1];case 6:X.setOptions(G[U-1]),this.$=G[U];break;case 7:G[U-1]+=G[U],this.$=G[U-1];break;case 9:this.$=[];break;case 10:G[U-1].push(G[U]),this.$=G[U-1];break;case 11:this.$=G[U-1];break;case 16:this.$=G[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=G[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(G[U].substr(8)),this.$=G[U].substr(8);break;case 21:X.checkout(G[U]);break;case 22:X.branch(G[U]);break;case 23:X.branch(G[U-2],G[U]);break;case 24:X.cherryPick(G[U],"",void 0);break;case 25:X.cherryPick(G[U-2],"",void 0,G[U]);break;case 26:X.cherryPick(G[U-2],"",G[U]);break;case 27:X.cherryPick(G[U-4],"",G[U],G[U-2]);break;case 28:X.cherryPick(G[U-4],"",G[U-2],G[U]);break;case 29:X.cherryPick(G[U],"",G[U-2]);break;case 30:X.cherryPick(G[U],"","");break;case 31:X.cherryPick(G[U-2],"","");break;case 32:X.cherryPick(G[U-4],"","",G[U-2]);break;case 33:X.cherryPick(G[U-4],"","",G[U]);break;case 34:X.cherryPick(G[U-2],"",G[U-4],G[U]);break;case 35:X.cherryPick(G[U-2],"","",G[U]);break;case 36:X.merge(G[U],"","","");break;case 37:X.merge(G[U-2],G[U],"","");break;case 38:X.merge(G[U-2],"",G[U],"");break;case 39:X.merge(G[U-2],"","",G[U]);break;case 40:X.merge(G[U-4],G[U],"",G[U-2]);break;case 41:X.merge(G[U-4],"",G[U],G[U-2]);break;case 42:X.merge(G[U-4],"",G[U-2],G[U]);break;case 43:X.merge(G[U-4],G[U-2],G[U],"");break;case 44:X.merge(G[U-4],G[U-2],"",G[U]);break;case 45:X.merge(G[U-4],G[U],G[U-2],"");break;case 46:X.merge(G[U-6],G[U-4],G[U-2],G[U]);break;case 47:X.merge(G[U-6],G[U],G[U-4],G[U-2]);break;case 48:X.merge(G[U-6],G[U-4],G[U],G[U-2]);break;case 49:X.merge(G[U-6],G[U-2],G[U-4],G[U]);break;case 50:X.merge(G[U-6],G[U],G[U-2],G[U-4]);break;case 51:X.merge(G[U-6],G[U-2],G[U],G[U-4]);break;case 52:X.commit(G[U]);break;case 53:X.commit("","",X.commitType.NORMAL,G[U]);break;case 54:X.commit("","",G[U],"");break;case 55:X.commit("","",G[U],G[U-2]);break;case 56:X.commit("","",G[U-2],G[U]);break;case 57:X.commit("",G[U],X.commitType.NORMAL,"");break;case 58:X.commit("",G[U-2],X.commitType.NORMAL,G[U]);break;case 59:X.commit("",G[U],X.commitType.NORMAL,G[U-2]);break;case 60:X.commit("",G[U-2],G[U],"");break;case 61:X.commit("",G[U],G[U-2],"");break;case 62:X.commit("",G[U-4],G[U-2],G[U]);break;case 63:X.commit("",G[U-4],G[U],G[U-2]);break;case 64:X.commit("",G[U-2],G[U-4],G[U]);break;case 65:X.commit("",G[U],G[U-4],G[U-2]);break;case 66:X.commit("",G[U],G[U-2],G[U-4]);break;case 67:X.commit("",G[U-2],G[U],G[U-4]);break;case 68:X.commit(G[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(G[U],"",X.commitType.NORMAL,G[U-2]);break;case 70:X.commit(G[U-2],"",X.commitType.NORMAL,G[U]);break;case 71:X.commit(G[U-2],"",G[U],"");break;case 72:X.commit(G[U],"",G[U-2],"");break;case 73:X.commit(G[U],G[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(G[U-2],G[U],X.commitType.NORMAL,"");break;case 75:X.commit(G[U-4],"",G[U-2],G[U]);break;case 76:X.commit(G[U-4],"",G[U],G[U-2]);break;case 77:X.commit(G[U-2],"",G[U-4],G[U]);break;case 78:X.commit(G[U],"",G[U-4],G[U-2]);break;case 79:X.commit(G[U],"",G[U-2],G[U-4]);break;case 80:X.commit(G[U-2],"",G[U],G[U-4]);break;case 81:X.commit(G[U-4],G[U],G[U-2],"");break;case 82:X.commit(G[U-4],G[U-2],G[U],"");break;case 83:X.commit(G[U-2],G[U],G[U-4],"");break;case 84:X.commit(G[U],G[U-2],G[U-4],"");break;case 85:X.commit(G[U],G[U-4],G[U-2],"");break;case 86:X.commit(G[U-2],G[U-4],G[U],"");break;case 87:X.commit(G[U-4],G[U],X.commitType.NORMAL,G[U-2]);break;case 88:X.commit(G[U-4],G[U-2],X.commitType.NORMAL,G[U]);break;case 89:X.commit(G[U-2],G[U],X.commitType.NORMAL,G[U-4]);break;case 90:X.commit(G[U],G[U-2],X.commitType.NORMAL,G[U-4]);break;case 91:X.commit(G[U],G[U-4],X.commitType.NORMAL,G[U-2]);break;case 92:X.commit(G[U-2],G[U-4],X.commitType.NORMAL,G[U]);break;case 93:X.commit(G[U-6],G[U-4],G[U-2],G[U]);break;case 94:X.commit(G[U-6],G[U-4],G[U],G[U-2]);break;case 95:X.commit(G[U-6],G[U-2],G[U-4],G[U]);break;case 96:X.commit(G[U-6],G[U],G[U-4],G[U-2]);break;case 97:X.commit(G[U-6],G[U-2],G[U],G[U-4]);break;case 98:X.commit(G[U-6],G[U],G[U-2],G[U-4]);break;case 99:X.commit(G[U-4],G[U-6],G[U-2],G[U]);break;case 100:X.commit(G[U-4],G[U-6],G[U],G[U-2]);break;case 101:X.commit(G[U-2],G[U-6],G[U-4],G[U]);break;case 102:X.commit(G[U],G[U-6],G[U-4],G[U-2]);break;case 103:X.commit(G[U-2],G[U-6],G[U],G[U-4]);break;case 104:X.commit(G[U],G[U-6],G[U-2],G[U-4]);break;case 105:X.commit(G[U],G[U-4],G[U-2],G[U-6]);break;case 106:X.commit(G[U-2],G[U-4],G[U],G[U-6]);break;case 107:X.commit(G[U],G[U-2],G[U-4],G[U-6]);break;case 108:X.commit(G[U-2],G[U],G[U-4],G[U-6]);break;case 109:X.commit(G[U-4],G[U-2],G[U],G[U-6]);break;case 110:X.commit(G[U-4],G[U],G[U-2],G[U-6]);break;case 111:X.commit(G[U-2],G[U-4],G[U-6],G[U]);break;case 112:X.commit(G[U],G[U-4],G[U-6],G[U-2]);break;case 113:X.commit(G[U-2],G[U],G[U-6],G[U-4]);break;case 114:X.commit(G[U],G[U-2],G[U-6],G[U-4]);break;case 115:X.commit(G[U-4],G[U-2],G[U-6],G[U]);break;case 116:X.commit(G[U-4],G[U],G[U-6],G[U-2]);break;case 117:this.$="";break;case 118:this.$=G[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:a,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(E,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(E,[2,10]),{4:37,7:u,13:d,47:p},i(E,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(E,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(B,[2,122]),i(B,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:W,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:W,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:W,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:W,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:W,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:W,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:W,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:W,45:ee},{33:[1,148]},{39:149,43:j,44:W,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:W,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:W,45:ee},{33:[1,162]},{39:163,43:j,44:W,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:W,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:W,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:W,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:W,45:ee},{33:[1,215]},{39:216,43:j,44:W,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:W,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:W,45:ee},{33:[1,229]},{39:230,43:j,44:W,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:W,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],pe=[null],G=[],xe=this.table,U="",Be=0,Pe=0,je=2,Ie=1,Se=G.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var zt=Ce.yylloc;G.push(zt);var Ne=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var Tt,Et,Wt,un,yt={},Bt,Ze,Dt,kt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Wt=this.defaultActions[Et]:((Tt===null||typeof Tt>"u")&&(Tt=pn()),Wt=xe[Et]&&xe[Et][Tt]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Nn="";kt=[];for(Bt in xe[Et])this.terminals_[Bt]&&Bt>je&&kt.push("'"+this.terminals_[Bt]+"'");Ce.showPosition?Nn="Parse error on line "+(Be+1)+`: +`+Ce.showPosition()+` +Expecting `+kt.join(", ")+", got '"+(this.terminals_[Tt]||Tt)+"'":Nn="Parse error on line "+(Be+1)+": Unexpected "+(Tt==Ie?"end of input":"'"+(this.terminals_[Tt]||Tt)+"'"),this.parseError(Nn,{text:Ce.match,token:this.terminals_[Tt]||Tt,line:Ce.yylineno,loc:zt,expected:kt})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Tt);switch(Wt[0]){case 1:de.push(Tt),pe.push(Ce.yytext),G.push(Ce.yylloc),de.push(Wt[1]),Tt=null,Pe=Ce.yyleng,U=Ce.yytext,Be=Ce.yylineno,zt=Ce.yylloc;break;case 2:if(Ze=this.productions_[Wt[1]][1],yt.$=pe[pe.length-Ze],yt._$={first_line:G[G.length-(Ze||1)].first_line,last_line:G[G.length-1].last_line,first_column:G[G.length-(Ze||1)].first_column,last_column:G[G.length-1].last_column},Ne&&(yt._$.range=[G[G.length-(Ze||1)].range[0],G[G.length-1].range[1]]),un=this.performAction.apply(yt,[U,Pe,Be,ke.yy,Wt[1],pe,G].concat(Se)),typeof un<"u")return un;Ze&&(de=de.slice(0,-1*Ze*2),pe=pe.slice(0,-1*Ze),G=G.slice(0,-1*Ze)),de.push(this.productions_[Wt[1]][0]),pe.push(yt.$),G.push(yt._$),Dt=xe[de[de.length-2]][de[de.length-1]],de.push(Dt);break;case 3:return!0}}return!0}},be=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,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},input:function(){var ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.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),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;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),de.length-1&&(this.yylineno-=de.length-1);var pe=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:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+` +`+se+"^"},test_match:function(ne,se){var de,X,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),X=ne[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+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,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(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var G in pe)this[G]=pe[G];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),G=0;Gse[0].length)){if(se=de,X=G,this.options.backtrack_lexer){if(ne=this.test_match(de,pe[G]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,pe[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,pe){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;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 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ae}();oe.lexer=be;function ge(){this.yy={}}return ge.prototype=oe,oe.Parser=ge,new ge}();hve.parser=hve;const ktn=hve;let xJ=qt().gitGraph.mainBranchName,Ttn=qt().gitGraph.mainBranchOrder,b1={},$p=null,$R={};$R[xJ]={name:xJ,order:Ttn};let j0={};j0[xJ]=$p;let sd=xJ,vGe="LR",XC=0;function fve(){return $je({length:7})}function Etn(i,a){const u=Object.create(null);return i.reduce((d,p)=>{const v=a(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const Ctn=function(i){vGe=i};let wGe={};const Stn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{wGe=JSON.parse(i)}catch(a){Xe.error("error while parsing gitGraph options",a.message)}},_tn=function(){return wGe},Atn=function(i,a,u,d){Xe.debug("Entering commit:",i,a,u,d),a=oi.sanitizeText(a,qt()),i=oi.sanitizeText(i,qt()),d=oi.sanitizeText(d,qt());const p={id:a||XC+"-"+fve(),message:i,seq:XC++,type:u||ZD.NORMAL,tag:d||"",parents:$p==null?[]:[$p.id],branch:sd};$p=p,b1[p.id]=p,j0[sd]=p.id,Xe.debug("in pushCommit "+p.id)},Ltn=function(i,a){if(i=oi.sanitizeText(i,qt()),j0[i]===void 0)j0[i]=$p!=null?$p.id:null,$R[i]={name:i,order:a?parseInt(a,10):null},yGe(i),Xe.debug("in createBranch");else{let u=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 '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},Mtn=function(i,a,u,d){i=oi.sanitizeText(i,qt()),a=oi.sanitizeText(a,qt());const p=b1[j0[sd]],v=b1[j0[i]];if(sd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+sd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(j0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(a&&b1[a]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw y.hash={text:"merge "+i+a+u+d,token:"merge "+i+a+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+u+" "+d]},y}const b={id:a||XC+"-"+fve(),message:"merged branch "+i+" into "+sd,seq:XC++,parents:[$p==null?null:$p.id,j0[i]],branch:sd,type:ZD.MERGE,customType:u,customId:!!a,tag:d||""};$p=b,b1[b.id]=b,j0[sd]=b.id,Xe.debug(j0),Xe.debug("in mergeBranch")},Dtn=function(i,a,u,d){if(Xe.debug("Entering cherryPick:",i,a,u),i=oi.sanitizeText(i,qt()),a=oi.sanitizeText(a,qt()),u=oi.sanitizeText(u,qt()),d=oi.sanitizeText(d,qt()),!i||b1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=b1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===ZD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||b1[a]===void 0){if(v===sd){let E=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const b=b1[j0[sd]];if(b===void 0||!b){let E=new Error('Incorrect usage of "cherry-pick". Current branch ('+sd+")has no commits");throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const y={id:XC+"-"+fve(),message:"cherry-picked "+p+" into "+sd,seq:XC++,parents:[$p==null?null:$p.id,p.id],branch:sd,type:ZD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===ZD.MERGE?`|parent:${d}`:""}`};$p=y,b1[y.id]=y,j0[sd]=y.id,Xe.debug(j0),Xe.debug("in cherryPick")}},yGe=function(i){if(i=oi.sanitizeText(i,qt()),j0[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{sd=i;const a=j0[sd];$p=b1[a]}};function xGe(i,a,u){const d=i.indexOf(a);d===-1?i.push(u):i.splice(d,1,u)}function kGe(i){const a=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===a?u+=" *":u+=" |"});const d=[u,a.id,a.seq];for(let p in j0)j0[p]===a.id&&d.push(p);if(Xe.debug(d.join(" ")),a.parents&&a.parents.length==2){const p=b1[a.parents[0]];xGe(i,a,p),i.push(b1[a.parents[1]])}else{if(a.parents.length==0)return;{const p=b1[a.parents];xGe(i,a,p)}}i=Etn(i,p=>p.id),kGe(i)}const Itn=function(){Xe.debug(b1);const i=TGe()[0];kGe([i])},Otn=function(){b1={},$p=null;let i=qt().gitGraph.mainBranchName,a=qt().gitGraph.mainBranchOrder;j0={},j0[i]=null,$R={},$R[i]={name:i,order:a},sd=i,XC=0,Rg()},Ntn=function(){return Object.values($R).map((a,u)=>a.order!==null?a:{...a,order:parseFloat(`0.${u}`,10)}).sort((a,u)=>a.order-u.order).map(({name:a})=>({name:a}))},Ptn=function(){return j0},Btn=function(){return b1},TGe=function(){const i=Object.keys(b1).map(function(a){return b1[a]});return i.forEach(function(a){Xe.debug(a.id)}),i.sort((a,u)=>a.seq-u.seq),i},Ftn=function(){return sd},Rtn=function(){return vGe},jtn=function(){return $p},ZD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$tn={getConfig:()=>qt().gitGraph,setDirection:Ctn,setOptions:Stn,getOptions:_tn,commit:Atn,branch:Ltn,merge:Mtn,cherryPick:Dtn,checkout:yGe,prettyPrint:Itn,clear:Otn,getBranchesAsObjArray:Ntn,getBranches:Ptn,getCommits:Btn,getCommitsArray:TGe,getCurrentBranch:Ftn,getDirection:Rtn,getHead:jtn,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,setDiagramTitle:pm,getDiagramTitle:Op,commitType:ZD};let zR={};const ad={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},QC=8;let J2={},U7={},kJ=[],qR=0,$0="LR";const ztn=()=>{J2={},U7={},zR={},qR=0,kJ=[],$0="LR"},EGe=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),a.appendChild(p)}return a},qtn=i=>{let a="",u=0;return i.forEach(d=>{const p=$0==="TB"?U7[d].y:U7[d].x;p>=u&&(a=d,u=p)}),a||void 0},CGe=(i,a,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;$0==="TB"&&(b=30);const E=Object.keys(a).sort((R,B)=>a[R].seq-a[B].seq),_=d.parallelCommits,A=10,P=40;E.forEach(R=>{const B=a[R];if(_)if(B.parents.length){const ie=qtn(B.parents);b=$0==="TB"?U7[ie].y+P:U7[ie].x+P}else b=0,$0==="TB"&&(b=30);const j=b+A,W=$0==="TB"?j:J2[B.branch].pos,ee=$0==="TB"?J2[B.branch].pos:j;if(u){let ie,oe=B.customType!==void 0&&B.customType!==""?B.customType:B.type;switch(oe){case ad.NORMAL:ie="commit-normal";break;case ad.REVERSE:ie="commit-reverse";break;case ad.HIGHLIGHT:ie="commit-highlight";break;case ad.MERGE:ie="commit-merge";break;case ad.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===ad.HIGHLIGHT){const be=p.append("rect");be.attr("x",ee-10),be.attr("y",W-10),be.attr("height",20),be.attr("width",20),be.attr("class",`commit ${B.id} commit-highlight${J2[B.branch].index%QC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",W-6).attr("height",12).attr("width",12).attr("class",`commit ${B.id} commit${J2[B.branch].index%QC} ${ie}-inner`)}else if(oe===ad.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",W).attr("r",10).attr("class",`commit ${B.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ie}`);else{const be=p.append("circle");if(be.attr("cx",ee),be.attr("cy",W),be.attr("r",B.type===ad.MERGE?9:10),be.attr("class",`commit ${B.id} commit${J2[B.branch].index%QC}`),oe===ad.MERGE){const ge=p.append("circle");ge.attr("cx",ee),ge.attr("cy",W),ge.attr("r",6),ge.attr("class",`commit ${ie} ${B.id} commit${J2[B.branch].index%QC}`)}oe===ad.REVERSE&&p.append("path").attr("d",`M ${ee-5},${W-5}L${ee+5},${W+5}M${ee-5},${W+5}L${ee+5},${W-5}`).attr("class",`commit ${ie} ${B.id} commit${J2[B.branch].index%QC}`)}}if($0==="TB"?U7[B.id]={x:ee,y:j}:U7[B.id]={x:j,y:W},u){if(B.type!==ad.CHERRY_PICK&&(B.customId&&B.type===ad.MERGE||B.type!==ad.MERGE)&&d.showCommitLabel){const be=v.append("g"),ge=be.insert("rect").attr("class","commit-label-bkg"),ae=be.append("text").attr("x",b).attr("y",W+25).attr("class","commit-label").text(B.id);let ne=ae.node().getBBox();if(ge.attr("x",j-ne.width/2-2).attr("y",W+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),$0==="TB"&&(ge.attr("x",ee-(ne.width+4*4+5)).attr("y",W-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",W+ne.height-12)),$0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if($0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+W+")"),ge.attr("transform","rotate(-45, "+ee+", "+W+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;be.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+W+")")}}if(B.tag){const be=v.insert("polygon"),ge=v.append("circle"),ae=v.append("text").attr("y",W-16).attr("class","tag-label").text(B.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=W-19.2;be.attr("class","tag-label-bkg").attr("points",` + ${b-ne.width/2-4/2},${de+2} + ${b-ne.width/2-4/2},${de-2} + ${j-ne.width/2-4},${de-se-2} + ${j+ne.width/2+4},${de-se-2} + ${j+ne.width/2+4},${de+se+2} + ${j-ne.width/2-4},${de+se+2}`),ge.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),$0==="TB"&&(be.attr("class","tag-label-bkg").attr("points",` + ${ee},${b+2} + ${ee},${b-2} + ${ee+A},${b-se-2} + ${ee+A+ne.width+4},${b-se-2} + ${ee+A+ne.width+4},${b+se+2} + ${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ge.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>qR&&(qR=b)})},Htn=(i,a,u,d,p)=>{const b=($0==="TB"?u.x_.branch===b,E=_=>_.seq>i.seq&&_.seqE(_)&&y(_))},HR=(i,a,u=0)=>{const d=i+Math.abs(i-a)/2;if(u>5)return d;if(kJ.every(b=>Math.abs(b-d)>=10))return kJ.push(d),d;const v=Math.abs(i-a);return HR(i,a-v/5,u+1)},Utn=(i,a,u,d)=>{const p=U7[a.id],v=U7[u.id],b=Htn(a,u,p,v,d);let y="",E="",_=0,A=0,P=J2[u.branch].index;u.type===ad.MERGE&&a.id!==u.parents[0]&&(P=J2[a.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",E="A 10 10, 0, 0, 1,",_=10,A=10;const B=p.yv.x&&(y="A 20 20, 0, 0, 0,",E="A 20 20, 0, 0, 1,",_=20,A=20,u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${E} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.yv.y&&(u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${E} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%QC)},Vtn=(i,a)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(d=>{const p=a[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Utn(u,a[v],p,a)})})},Gtn=(i,a)=>{const u=qt().gitGraph,d=i.append("g");a.forEach((p,v)=>{const b=v%QC,y=J2[p.name].pos,E=d.append("line");E.attr("x1",0),E.attr("y1",y),E.attr("x2",qR),E.attr("y2",y),E.attr("class","branch branch"+b),$0==="TB"&&(E.attr("y1",30),E.attr("x1",y),E.attr("y2",qR),E.attr("x2",y)),kJ.push(y);let _=p.name;const A=EGe(_),P=d.insert("rect"),B=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);B.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),B.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),$0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),B.attr("transform","translate("+(y-j.width/2-5)+", 0)")),$0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Ktn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ktn,db:$tn,renderer:{draw:function(i,a,u,d){ztn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+` +`,"id:",a,u),zR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();$0=d.db.getDirection();const y=Dr(`[id="${a}"]`);let E=0;b.forEach((_,A)=>{const P=EGe(_.name),R=y.append("g"),B=R.insert("g").attr("class","branchLabel"),j=B.insert("g").attr("class","label branch-label");j.node().appendChild(P);let W=P.getBBox();J2[_.name]={pos:E,index:A},E+=50+(v.rotateCommitLabel?40:0)+($0==="TB"?W.width/2:0),j.remove(),B.remove(),R.remove()}),CGe(y,zR,!1),v.showBranches&&Gtn(y,b),Vtn(y,zR),CGe(y,zR,!0),So.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),C$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(a=>` + .branch-label${a} { fill: ${i["gitBranchLabel"+a]}; } + .commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; } + .commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; } + .label${a} { fill: ${i["git"+a]}; } + .arrow${a} { stroke: ${i["git"+a]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(G,xe,U,Be){for(U=U||{},Be=G.length;Be--;U[G[Be]]=xe);return U},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],E=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],B=[1,13],j=[1,14],W=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],be=[1,20],ge=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={trace:function(){},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,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$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",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"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],[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],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(xe,U,Be,Pe,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Pe.setWeekday("monday");break;case 9:Pe.setWeekday("tuesday");break;case 10:Pe.setWeekday("wednesday");break;case 11:Pe.setWeekday("thursday");break;case 12:Pe.setWeekday("friday");break;case 13:Pe.setWeekday("saturday");break;case 14:Pe.setWeekday("sunday");break;case 15:Pe.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Pe.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Pe.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Pe.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Pe.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Pe.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Pe.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Pe.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Pe.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Pe.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Pe.setAccDescription(this.$);break;case 28:Pe.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Pe.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Pe.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Pe.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Pe.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce],null),Pe.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Pe.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Pe.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:E,19:_,20:A,21:P,22:R,23:B,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:E,19:_,20:A,21:P,22:R,23:B,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Be=new Error(xe);throw Be.hash=U,Be}},parse:function(xe){var U=this,Be=[0],Pe=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,zt=2,Ne=1,pn=Ie.slice.call(arguments,1),Tt=Object.create(this.lexer),Et={yy:{}};for(var Wt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Wt)&&(Et.yy[Wt]=this.yy[Wt]);Tt.setInput(xe,Et.yy),Et.yy.lexer=Tt,Et.yy.parser=this,typeof Tt.yylloc>"u"&&(Tt.yylloc={});var un=Tt.yylloc;Ie.push(un);var yt=Tt.options&&Tt.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Bt(){var Hs;return Hs=Pe.pop()||Tt.lex()||Ne,typeof Hs!="number"&&(Hs instanceof Array&&(Pe=Hs,Hs=Pe.pop()),Hs=U.symbols_[Hs]||Hs),Hs}for(var Ze,Dt,kt,Nn,ht={},qr,xt,Ri,wi;;){if(Dt=Be[Be.length-1],this.defaultActions[Dt]?kt=this.defaultActions[Dt]:((Ze===null||typeof Ze>"u")&&(Ze=Bt()),kt=Se[Dt]&&Se[Dt][Ze]),typeof kt>"u"||!kt.length||!kt[0]){var ia="";wi=[];for(qr in Se[Dt])this.terminals_[qr]&&qr>zt&&wi.push("'"+this.terminals_[qr]+"'");Tt.showPosition?ia="Parse error on line "+(ke+1)+`: +`+Tt.showPosition()+` +Expecting `+wi.join(", ")+", got '"+(this.terminals_[Ze]||Ze)+"'":ia="Parse error on line "+(ke+1)+": Unexpected "+(Ze==Ne?"end of input":"'"+(this.terminals_[Ze]||Ze)+"'"),this.parseError(ia,{text:Tt.match,token:this.terminals_[Ze]||Ze,line:Tt.yylineno,loc:un,expected:wi})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+Ze);switch(kt[0]){case 1:Be.push(Ze),je.push(Tt.yytext),Ie.push(Tt.yylloc),Be.push(kt[1]),Ze=null,Ke=Tt.yyleng,Ce=Tt.yytext,ke=Tt.yylineno,un=Tt.yylloc;break;case 2:if(xt=this.productions_[kt[1]][1],ht.$=je[je.length-xt],ht._$={first_line:Ie[Ie.length-(xt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(xt||1)].first_column,last_column:Ie[Ie.length-1].last_column},yt&&(ht._$.range=[Ie[Ie.length-(xt||1)].range[0],Ie[Ie.length-1].range[1]]),Nn=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,kt[1],je,Ie].concat(pn)),typeof Nn<"u")return Nn;xt&&(Be=Be.slice(0,-1*xt*2),je=je.slice(0,-1*xt),Ie=Ie.slice(0,-1*xt)),Be.push(this.productions_[kt[1]][0]),je.push(ht.$),Ie.push(ht._$),Ri=Se[Be[Be.length-2]][Be[Be.length-1]],Be.push(Ri);break;case 3:return!0}}return!0}},X=function(){var G={EOF:1,parseError:function(U,Be){if(this.yy.parser)this.yy.parser.parseError(U,Be);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,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},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.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),xe},unput:function(xe){var U=xe.length,Be=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var Pe=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 je=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===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-Be.length].length-Be[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+U+"^"},test_match:function(xe,U){var Be,Pe,je;if(this.options.backtrack_lexer&&(je={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&&(je.yylloc.range=this.yylloc.range.slice(0))),Pe=xe[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,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(xe[0].length),this.matched+=xe[0],Be=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Be)return Be;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Be,Pe;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;IeU[0].length)){if(U=Be,Pe=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Be,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Pe]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Be,Pe,je){switch(Pe){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;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 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;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"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},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,/^(?:\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],inclusive:!0}}};return G}();de.lexer=X;function pe(){this.yy={}}return pe.prototype=de,de.Parser=pe,new pe}();dve.parser=dve;const Wtn=dve;var SGe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,B,j=b(this),W=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),B=4-R.isoWeekday(),R.isoWeekday()>4&&(B+=7),R.add(B,u));return j.diff(W,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var E=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):E.bind(this)(_,A)}}})})(SGe);var Ytn=SGe.exports;const Xtn=dC(Ytn);var _Ge={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){var u={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"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},E=function(W){return(W=+W)+(W>68?1900:2e3)},_=function(W){return function(ee){this[W]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(W)}],P=function(W){var ee=y[W];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(W,ee){var ie,oe=y.meridiem;if(oe){for(var be=1;be<=24;be+=1)if(W.indexOf(oe(be,0,ee))>-1){ie=be>12;break}}else ie=W===(ee?"pm":"PM");return ie},B={A:[b,function(W){this.afternoon=R(W,!1)}],a:[b,function(W){this.afternoon=R(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[p,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(W){var ee=y.ordinal,ie=W.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===W&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(W){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(W)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(W){var ee=P("months").indexOf(W)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(W){this.year=E(W)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(W){var ee,ie;ee=W,ie=y&&y.formats;for(var oe=(W=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pe,G){var xe=G&&G.toUpperCase();return pe||ie[G]||u[G]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Be,Pe){return Be||Pe.slice(1)})})).match(d),be=oe.length,ge=0;ge-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,zt=Ce.day,Ne=Ce.hours,pn=Ce.minutes,Tt=Ce.seconds,Et=Ce.milliseconds,Wt=Ce.zone,un=new Date,yt=zt||(ke||Ke?1:un.getDate()),Bt=ke||un.getFullYear(),Ze=0;ke&&!Ke||(Ze=Ke>0?Ke-1:un.getMonth());var Dt=Ne||0,kt=pn||0,Nn=Tt||0,ht=Et||0;return Wt?new Date(Date.UTC(Bt,Ze,yt,Dt,kt,Nn,ht+60*Wt.offset*1e3)):Se?new Date(Date.UTC(Bt,Ze,yt,Dt,kt,Nn,ht)):new Date(Bt,Ze,yt,Dt,kt,Nn,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),G&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Be=1;Be<=U;Be+=1){se[1]=de[Be-1];var Pe=ie.apply(this,se);if(Pe.isValid()){this.$d=Pe.$d,this.$L=Pe.$L,this.init();break}Be===U&&(this.$d=new Date(""))}else be.call(this,ge)}}})})(_Ge);var Qtn=_Ge.exports;const Jtn=dC(Qtn);var AGe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,E=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"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(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return E.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return E.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(AGe);var Ztn=AGe.exports;const enn=dC(Ztn);Ig.extend(Xtn),Ig.extend(Jtn),Ig.extend(enn);let a5="",gve="",pve,bve="",UR=[],VR=[],mve={},vve=[],TJ=[],eI="",wve="";const LGe=["active","done","crit","milestone"];let yve=[],GR=!1,xve=!1,kve="sunday",Tve=0;const tnn=function(){vve=[],TJ=[],eI="",yve=[],EJ=0,Cve=void 0,CJ=void 0,m1=[],a5="",gve="",wve="",pve=void 0,bve="",UR=[],VR=[],GR=!1,xve=!1,Tve=0,mve={},Rg(),kve="sunday"},nnn=function(i){gve=i},rnn=function(){return gve},inn=function(i){pve=i},snn=function(){return pve},ann=function(i){bve=i},onn=function(){return bve},cnn=function(i){a5=i},unn=function(){GR=!0},lnn=function(){return GR},hnn=function(){xve=!0},fnn=function(){return xve},dnn=function(i){wve=i},gnn=function(){return wve},pnn=function(){return a5},bnn=function(i){UR=i.toLowerCase().split(/[\s,]+/)},mnn=function(){return UR},vnn=function(i){VR=i.toLowerCase().split(/[\s,]+/)},wnn=function(){return VR},ynn=function(){return mve},xnn=function(i){eI=i,vve.push(i)},knn=function(){return vve},Tnn=function(){let i=PGe();const a=10;let u=0;for(;!i&&u=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(a.trim()))},Enn=function(i){kve=i},Cnn=function(){return kve},DGe=function(i,a,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Ig(i.startTime):p=Ig(i.startTime,a,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Ig(i.endTime):v=Ig(i.endTime,a,!0);const[b,y]=Snn(p,v,a,u,d);i.endTime=b.toDate(),i.renderEndTime=y},Snn=function(i,a,u,d,p){let v=!1,b=null;const y=a.add(1e4,"d");for(;i<=a;){if(v||(b=a.toDate()),v=MGe(i,u,d,p),v&&(a=a.add(1,"d"),a>y))throw new Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");i=i.add(1,"d")}return[a,b]},Eve=function(i,a,u){u=u.trim();const p=/^after\s+(?[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const E of p.groups.ids.split(" ")){let _=JC(E);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Ig(u,a.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+a.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},IGe=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},OGe=function(i,a,u,d=!1){u=u.trim();const v=/^until\s+(?[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let B=JC(R);B!==void 0&&(!A||B.startTime{window.open(u,"_self")}),mve[d]=u)}),BGe(i,"clickable")},BGe=function(i,a){i.split(",").forEach(function(u){let d=JC(u);d!==void 0&&d.classes.push(a)})},Inn=function(i,a,u){if(qt().securityLevel!=="loose"||a===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{So.runFunc(a,...d)})},FGe=function(i,a){yve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){a()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){a()})})},Onn={getConfig:()=>qt().gantt,clear:tnn,setDateFormat:cnn,getDateFormat:pnn,enableInclusiveEndDates:unn,endDatesAreInclusive:lnn,enableTopAxis:hnn,topAxisEnabled:fnn,setAxisFormat:nnn,getAxisFormat:rnn,setTickInterval:inn,getTickInterval:snn,setTodayMarker:ann,getTodayMarker:onn,setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,setDisplayMode:dnn,getDisplayMode:gnn,setAccDescription:Dp,getAccDescription:Ip,addSection:xnn,getSections:knn,getTasks:Tnn,addTask:Lnn,findTaskById:JC,addTaskOrg:Mnn,setIncludes:bnn,getIncludes:mnn,setExcludes:vnn,getExcludes:wnn,setClickEvent:function(i,a,u){i.split(",").forEach(function(d){Inn(d,a,u)}),BGe(i,"clickable")},setLink:Dnn,getLinks:ynn,bindFunctions:function(i){yve.forEach(function(a){a(i)})},parseDuration:IGe,isInvalidDate:MGe,setWeekday:Enn,getWeekday:Cnn};function RGe(i,a,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[p]=!0,i.shift(1),d=!0)})}const Nnn=function(){Xe.debug("Something is calling, setConf, remove the call")},jGe={monday:jF,tuesday:jFe,wednesday:$Fe,thursday:kC,friday:zFe,saturday:qFe,sunday:RF},Pnn=(i,a)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b=u[b]){u[b]=v.endTime,v.order=b+a,b>p&&(p=b);break}return p};let V7;const Bnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Wtn,db:Onn,renderer:{setConf:Nnn,draw:function(i,a,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=v==="sandbox"?b.nodes()[0].contentDocument:document,_=E.getElementById(a);V7=_.parentElement.offsetWidth,V7===void 0&&(V7=1200),p.useWidth!==void 0&&(V7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let B=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const pe of A)de[pe.section]===void 0?de[pe.section]=[pe]:de[pe.section].push(pe);let X=0;for(const pe of Object.keys(de)){const G=Pnn(de[pe],X)+1;X+=G,B+=G*(p.barHeight+p.barGap),R[pe]=G}}else{B+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+V7+" "+B);const j=y.select(`[id="${a}"]`),W=qNt().domain([ELt(A,function(de){return de.startTime}),TLt(A,function(de){return de.endTime})]).rangeRound([0,V7-p.leftPadding-p.rightPadding]);function ee(de,X){const pe=de.startTime,G=X.startTime;let xe=0;return pe>G?xe=1:peke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe-2}).attr("width",function(){return Be-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,zt]of P.entries())if(ke.type===zt)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))-.5*xe:W(ke.startTime)+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe}).attr("width",function(ke){return ke.milestone?xe:W(ke.renderEndTime||ke.endTime)-W(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))).toString()+"px "+(Ke*X+pe+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let zt="";ke.classes.length>0&&(zt=ke.classes.join(" "));let Ne=0;for(const[Tt,Et]of P.entries())ke.type===Et&&(Ne=Tt%p.numberSectionStyles);let pn="";return ke.active?ke.crit?pn+=" activeCrit":pn=" active":ke.done?ke.crit?pn=" doneCrit":pn=" done":ke.crit&&(pn+=" crit"),pn.length===0&&(pn=" task"),ke.milestone&&(pn=" milestone "+pn),pn+=Ne,pn+=" "+zt,Ke+pn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=W(ke.startTime),zt=W(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(W(ke.endTime)-W(ke.startTime))-.5*xe),ke.milestone&&(zt=Ke+xe);const Ne=this.getBBox().width;return Ne>zt-Ke?zt+Ne+1.5*p.leftPadding>Be?Ke+G-5:zt+G+5:(zt-Ke)/2+Ke+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+pe}).attr("text-height",xe).attr("class",function(ke){const Ke=W(ke.startTime);let zt=W(ke.endTime);ke.milestone&&(zt=Ke+xe);const Ne=this.getBBox().width;let pn="";ke.classes.length>0&&(pn=ke.classes.join(" "));let Tt=0;for(const[Wt,un]of P.entries())ke.type===un&&(Tt=Wt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+Tt:Et="activeText"+Tt),ke.done?ke.crit?Et=Et+" doneCritText"+Tt:Et=Et+" doneText"+Tt:ke.crit&&(Et=Et+" critText"+Tt),ke.milestone&&(Et+=" milestoneText"),Ne>zt-Ke?zt+Ne+1.5*p.leftPadding>Be?pn+" taskTextOutsideLeft taskTextOutside"+Tt+" "+Et:pn+" taskTextOutsideRight taskTextOutside"+Tt+" "+Et+" width-"+Ne:pn+" taskText taskText"+Tt+" "+Et+" width-"+Ne}),qt().securityLevel==="sandbox"){let ke;ke=Dr("#i"+a);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(zt){return Se[zt.id]!==void 0}).each(function(zt){var Ne=Ke.querySelector("#"+zt.id),pn=Ke.querySelector("#"+zt.id+"-text");const Tt=Ne.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[zt.id]),Et.setAttribute("target","_top"),Tt.appendChild(Et),Et.appendChild(Ne),Et.appendChild(pn)})}}function be(de,X,pe,G,xe,U,Be,Pe){if(Be.length===0&&Pe.length===0)return;let je,Ie;for(const{startTime:Ne,endTime:pn}of U)(je===void 0||NeIe)&&(Ie=pn);if(!je||!Ie)return;if(Ig(Ie).diff(Ig(je),"year")>5){Xe.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 Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Ig(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Be,Pe)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Ne){return"exclude-"+Ne.start.format("YYYY-MM-DD")}).attr("x",function(Ne){return W(Ne.start)+pe}).attr("y",p.gridLineStartPadding).attr("width",function(Ne){const pn=Ne.end.add(1,"day");return W(pn)-W(Ne.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Ne,pn){return(W(Ne.start)+pe+.5*(W(Ne.end)-W(Ne.start))).toString()+"px "+(pn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function ge(de,X,pe,G){let xe=OLt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(fX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Be=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Be!==null){const Pe=Be[1],je=Be[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(oD.every(Pe));break;case"second":xe.ticks(m9.every(Pe));break;case"minute":xe.ticks(BF.every(Pe));break;case"hour":xe.ticks(FF.every(Pe));break;case"day":xe.ticks(yC.every(Pe));break;case"week":xe.ticks(jGe[Ie].every(Pe));break;case"month":xe.ticks($F.every(Pe));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(G-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Pe=ILt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(fX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Be!==null){const je=Be[1],Ie=Be[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Pe.ticks(oD.every(je));break;case"second":Pe.ticks(m9.every(je));break;case"minute":Pe.ticks(BF.every(je));break;case"hour":Pe.ticks(FF.every(je));break;case"day":Pe.ticks(yC.every(je));break;case"week":Pe.ticks(jGe[Se].every(je));break;case"month":Pe.ticks($F.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Pe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let pe=0;const G=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(G).enter().append(function(xe){const U=xe[0].split(oi.lineBreakRegex),Be=-(U.length-1)/2,Pe=E.createElementNS("http://www.w3.org/2000/svg","text");Pe.setAttribute("dy",Be+"em");for(const[je,Ie]of U.entries()){const Se=E.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Pe.appendChild(Se)}return Pe}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Be=0;Be` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.titleColor||i.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}},Symbol.toStringTag,{value:"Module"}));var Sve=function(){var i=function(v,b,y,E){for(y=y||{},E=v.length;E--;y[v[E]]=b);return y},a=[6,9,10],u={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,y,E,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var E=new Error(b);throw E.hash=y,E}},parse:function(b){var y=this,E=[0],_=[],A=[null],P=[],R=this.table,B="",j=0,W=0,ee=2,ie=1,oe=P.slice.call(arguments,1),be=Object.create(this.lexer),ge={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(ge.yy[ae]=this.yy[ae]);be.setInput(b,ge.yy),ge.yy.lexer=be,ge.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var ne=be.yylloc;P.push(ne);var se=be.options&&be.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||be.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,pe,G,xe,U={},Be,Pe,je,Ie;;){if(pe=E[E.length-1],this.defaultActions[pe]?G=this.defaultActions[pe]:((X===null||typeof X>"u")&&(X=de()),G=R[pe]&&R[pe][X]),typeof G>"u"||!G.length||!G[0]){var Se="";Ie=[];for(Be in R[pe])this.terminals_[Be]&&Be>ee&&Ie.push("'"+this.terminals_[Be]+"'");be.showPosition?Se="Parse error on line "+(j+1)+`: +`+be.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:be.match,token:this.terminals_[X]||X,line:be.yylineno,loc:ne,expected:Ie})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pe+", token: "+X);switch(G[0]){case 1:E.push(X),A.push(be.yytext),P.push(be.yylloc),E.push(G[1]),X=null,W=be.yyleng,B=be.yytext,j=be.yylineno,ne=be.yylloc;break;case 2:if(Pe=this.productions_[G[1]][1],U.$=A[A.length-Pe],U._$={first_line:P[P.length-(Pe||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Pe||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Pe||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[B,W,j,ge.yy,G[1],A,P].concat(oe)),typeof xe<"u")return xe;Pe&&(E=E.slice(0,-1*Pe*2),A=A.slice(0,-1*Pe),P=P.slice(0,-1*Pe)),E.push(this.productions_[G[1]][0]),A.push(U.$),P.push(U._$),je=R[E[E.length-2]][E[E.length-1]],E.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,E){if(this.yy.parser)this.yy.parser.parseError(y,E);else throw new Error(y)},setInput:function(b,y){return this.yy=y||this.yy||{},this._input=b,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},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,E=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;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-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+y+"^"},test_match:function(b,y){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))),_=b[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+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,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(b[0].length),this.matched+=b[0],E=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;Py[0].length)){if(y=E,_=P,this.options.backtrack_lexer){if(b=this.test_match(E,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,E,_,A){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();Sve.parser=Sve;const Fnn=Sve,$Ge={info:!1};let _ve=$Ge.info;const Rnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Fnn,db:{clear:()=>{_ve=$Ge.info},setInfo:i=>{_ve=i},getInfo:()=>_ve},renderer:{draw:(i,a,u)=>{Xe.debug(`rendering info diagram +`+i);const d=dR(a);Fg(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var Ave=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],E=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],B=[1,15],j=[1,16],W=[1,17],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(ge,ae,ne,se,de,X,pe){var G=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[G-1];break;case 8:se.addSection(X[G-1],se.cleanupValue(X[G]));break;case 9:this.$=X[G].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[G].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[G].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[G].substr(8)),this.$=X[G].substr(8);break}},table:[{3:1,4:2,5:a,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:a,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(E,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:B,18:j,19:W}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(E,[2,12]),i(E,[2,13]),i(E,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:B,18:j,19:W}),i(v,[2,6]),i(E,[2,8]),i(E,[2,9]),i(E,[2,10]),i(E,[2,11])],defaultActions:{7:[2,1]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,G="",xe=0,U=0,Be=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,pn,Tt,Et,Wt={},un,yt,Bt,Ze;;){if(pn=ne[ne.length-1],this.defaultActions[pn]?Tt=this.defaultActions[pn]:((Ne===null||typeof Ne>"u")&&(Ne=zt()),Tt=pe[pn]&&pe[pn][Ne]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Dt="";Ze=[];for(un in pe[pn])this.terminals_[un]&&un>Be&&Ze.push("'"+this.terminals_[un]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Ze})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ne);switch(Tt[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(Tt[1]),Ne=null,U=Ie.yyleng,G=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],Wt.$=de[de.length-yt],Wt._$={first_line:X[X.length-(yt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(yt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Wt._$.range=[X[X.length-(yt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Wt,[G,U,xe,Se.yy,Tt[1],de,X].concat(je)),typeof Et<"u")return Et;yt&&(ne=ne.slice(0,-1*yt*2),de=de.slice(0,-1*yt),X=X.slice(0,-1*yt)),ne.push(this.productions_[Tt[1]][0]),de.push(Wt.$),X.push(Wt._$),Bt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Bt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||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},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+ae+"^"},test_match:function(ge,ae){var ne,se,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))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.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],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),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})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;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:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/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,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();Ave.parser=Ave;const jnn=Ave,zGe=nh.pie,SJ={sections:{},showData:!1,config:zGe};let _J=SJ.sections,Lve=SJ.showData;const $nn=structuredClone(zGe),znn={getConfig:()=>structuredClone($nn),clear:()=>{_J=structuredClone(SJ.sections),Lve=SJ.showData,Rg()},setDiagramTitle:pm,getDiagramTitle:Op,setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addSection:(i,a)=>{i=bh(i,qt()),_J[i]===void 0&&(_J[i]=a,Xe.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>_J,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{Lve=i},getShowData:()=>Lve},qnn=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,Hnn=i=>{const a=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return nPt().value(d=>d.value)(a)},Unn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:jnn,db:znn,renderer:{draw:(i,a,u,d)=>{Xe.debug(`rendering pie chart +`+i);const p=d.db,v=qt(),b=cR(p.getConfig(),v.pie),y=40,E=18,_=4,A=450,P=A,R=dR(a),B=R.append("g"),j=p.getSections();B.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:W}=v;let[ee]=PC(W.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,be=hD().innerRadius(0).outerRadius(oe),ge=hD().innerRadius(oe*ie).outerRadius(oe*ie);B.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=Hnn(j),ne=[W.pie1,W.pie2,W.pie3,W.pie4,W.pie5,W.pie6,W.pie7,W.pie8,W.pie9,W.pie10,W.pie11,W.pie12],se=PF(ne);B.selectAll("mySlices").data(ae).enter().append("path").attr("d",be).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),B.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+ge.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),B.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=B.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Be=E+_,Pe=Be*se.domain().length/2,je=12*E,Ie=U*Be-Pe;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",E).attr("height",E).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",E+_).attr("y",E-_).text(xe=>{const{label:U,value:Be}=xe.data;return p.getShowData()?`${U} [${Be}]`:U});const pe=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),G=P+y+E+_+pe;R.attr("viewBox",`0 0 ${G} ${A}`),Fg(R,A,G,b.useMaxWidth)}},styles:qnn}},Symbol.toStringTag,{value:"Module"}));var Mve=function(){var i=function(Tt,Et,Wt,un){for(Wt=Wt||{},un=Tt.length;un--;Wt[Tt[un]]=Et);return Wt},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],y=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],B=[1,19],j=[1,20],W=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],be=[1,25],ge=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],pe=[1,34],G=[1,35],xe=[1,36],U=[1,37],Be=[1,38],Pe=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],zt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Et,Wt,un,yt,Bt,Ze,Dt){var kt=Ze.length-1;switch(Bt){case 12:this.$=Ze[kt].trim(),yt.setDiagramTitle(this.$);break;case 13:this.$=Ze[kt].trim(),yt.setAccTitle(this.$);break;case 14:case 15:this.$=Ze[kt].trim(),yt.setAccDescription(this.$);break;case 16:yt.addSection(Ze[kt].substr(8)),this.$=Ze[kt].substr(8);break;case 17:yt.addPoint(Ze[kt-3],Ze[kt-1],Ze[kt]);break;case 18:yt.setXAxisLeftText(Ze[kt-2]),yt.setXAxisRightText(Ze[kt]);break;case 19:Ze[kt-1].text+=" ⟶ ",yt.setXAxisLeftText(Ze[kt-1]);break;case 20:yt.setXAxisLeftText(Ze[kt]);break;case 21:yt.setYAxisBottomText(Ze[kt-2]),yt.setYAxisTopText(Ze[kt]);break;case 22:Ze[kt-1].text+=" ⟶ ",yt.setYAxisBottomText(Ze[kt-1]);break;case 23:yt.setYAxisBottomText(Ze[kt]);break;case 24:yt.setQuadrant1Text(Ze[kt]);break;case 25:yt.setQuadrant2Text(Ze[kt]);break;case 26:yt.setQuadrant3Text(Ze[kt]);break;case 27:yt.setQuadrant4Text(Ze[kt]);break;case 31:this.$={text:Ze[kt],type:"text"};break;case 32:this.$={text:Ze[kt-1].text+""+Ze[kt],type:Ze[kt-1].type};break;case 33:this.$={text:Ze[kt],type:"text"};break;case 34:this.$={text:Ze[kt],type:"markdown"};break;case 35:this.$=Ze[kt];break;case 36:this.$=Ze[kt-1]+""+Ze[kt];break}},table:[{3:1,4:2,5:a,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:a,6:u,32:d,33:p,34:v},{3:9,4:2,5:a,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(E,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:B,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(E,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:B,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(E,[2,9]),i(E,[2,10]),i(E,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(E,[2,15]),i(E,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(E,[2,8]),i(E,[2,12]),i(E,[2,13]),i(E,[2,14]),i(E,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(E,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(E,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),{24:[1,64]},i(E,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Wt){if(Wt.recoverable)this.trace(Et);else{var un=new Error(Et);throw un.hash=Wt,un}},parse:function(Et){var Wt=this,un=[0],yt=[],Bt=[null],Ze=[],Dt=this.table,kt="",Nn=0,ht=0,qr=2,xt=1,Ri=Ze.slice.call(arguments,1),wi=Object.create(this.lexer),ia={yy:{}};for(var Hs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Hs)&&(ia.yy[Hs]=this.yy[Hs]);wi.setInput(Et,ia.yy),ia.yy.lexer=wi,ia.yy.parser=this,typeof wi.yylloc>"u"&&(wi.yylloc={});var mo=wi.yylloc;Ze.push(mo);var Tr=wi.options&&wi.options.ranges;typeof ia.yy.parseError=="function"?this.parseError=ia.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var Us;return Us=yt.pop()||wi.lex()||xt,typeof Us!="number"&&(Us instanceof Array&&(yt=Us,Us=yt.pop()),Us=Wt.symbols_[Us]||Us),Us}for(var Rn,zn,Ct,gt,on={},dn,Ln,Io,Oo;;){if(zn=un[un.length-1],this.defaultActions[zn]?Ct=this.defaultActions[zn]:((Rn===null||typeof Rn>"u")&&(Rn=On()),Ct=Dt[zn]&&Dt[zn][Rn]),typeof Ct>"u"||!Ct.length||!Ct[0]){var No="";Oo=[];for(dn in Dt[zn])this.terminals_[dn]&&dn>qr&&Oo.push("'"+this.terminals_[dn]+"'");wi.showPosition?No="Parse error on line "+(Nn+1)+`: +`+wi.showPosition()+` +Expecting `+Oo.join(", ")+", got '"+(this.terminals_[Rn]||Rn)+"'":No="Parse error on line "+(Nn+1)+": Unexpected "+(Rn==xt?"end of input":"'"+(this.terminals_[Rn]||Rn)+"'"),this.parseError(No,{text:wi.match,token:this.terminals_[Rn]||Rn,line:wi.yylineno,loc:mo,expected:Oo})}if(Ct[0]instanceof Array&&Ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zn+", token: "+Rn);switch(Ct[0]){case 1:un.push(Rn),Bt.push(wi.yytext),Ze.push(wi.yylloc),un.push(Ct[1]),Rn=null,ht=wi.yyleng,kt=wi.yytext,Nn=wi.yylineno,mo=wi.yylloc;break;case 2:if(Ln=this.productions_[Ct[1]][1],on.$=Bt[Bt.length-Ln],on._$={first_line:Ze[Ze.length-(Ln||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Ln||1)].first_column,last_column:Ze[Ze.length-1].last_column},Tr&&(on._$.range=[Ze[Ze.length-(Ln||1)].range[0],Ze[Ze.length-1].range[1]]),gt=this.performAction.apply(on,[kt,ht,Nn,ia.yy,Ct[1],Bt,Ze].concat(Ri)),typeof gt<"u")return gt;Ln&&(un=un.slice(0,-1*Ln*2),Bt=Bt.slice(0,-1*Ln),Ze=Ze.slice(0,-1*Ln)),un.push(this.productions_[Ct[1]][0]),Bt.push(on.$),Ze.push(on._$),Io=Dt[un[un.length-2]][un[un.length-1]],un.push(Io);break;case 3:return!0}}return!0}},Ne=function(){var Tt={EOF:1,parseError:function(Wt,un){if(this.yy.parser)this.yy.parser.parseError(Wt,un);else throw new Error(Wt)},setInput:function(Et,Wt){return this.yy=Wt||this.yy||{},this._input=Et,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},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Wt=Et.match(/(?:\r\n?|\n).*/g);return Wt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Wt=Et.length,un=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Wt),this.offset-=Wt;var yt=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),un.length-1&&(this.yylineno-=un.length-1);var Bt=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:un?(un.length===yt.length?this.yylloc.first_column:0)+yt[yt.length-un.length].length-un[0].length:this.yylloc.first_column-Wt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-Wt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Wt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Wt+"^"},test_match:function(Et,Wt){var un,yt,Bt;if(this.options.backtrack_lexer&&(Bt={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&&(Bt.yylloc.range=this.yylloc.range.slice(0))),yt=Et[0].match(/(?:\r\n?|\n).*/g),yt&&(this.yylineno+=yt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:yt?yt[yt.length-1].length-yt[yt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],un=this.performAction.call(this,this.yy,this,Wt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),un)return un;if(this._backtrack){for(var Ze in Bt)this[Ze]=Bt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Wt,un,yt;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Ze=0;ZeWt[0].length)){if(Wt=un,yt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(un,Bt[Ze]),Et!==!1)return Et;if(this._backtrack){Wt=!1;continue}else return!1}else if(!this.options.flex)break}return Wt?(Et=this.test_match(Wt,Bt[yt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Wt=this.next();return Wt||this.lex()},begin:function(Wt){this.conditionStack.push(Wt)},popState:function(){var Wt=this.conditionStack.length-1;return Wt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Wt){return Wt=this.conditionStack.length-1-Math.abs(Wt||0),Wt>=0?this.conditionStack[Wt]:"INITIAL"},pushState:function(Wt){this.begin(Wt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Wt,un,yt,Bt){switch(yt){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;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 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},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,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/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:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],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:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Tt}();zt.lexer=Ne;function pn(){this.yy={}}return pn.prototype=zt,zt.Parser=pn,new pn}();Mve.parser=Mve;const Vnn=Mve,zp=S2e();class Gnn{constructor(){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(){var a,u,d,p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=nh.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((u=nh.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=nh.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=nh.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=nh.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=nh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=nh.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((E=nh.quadrantChart)==null?void 0:E.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=nh.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=nh.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=nh.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=nh.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((B=nh.quadrantChart)==null?void 0:B.pointLabelFontSize)||12,pointRadius:((j=nh.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((W=nh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((ee=nh.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=nh.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=nh.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:zp.quadrant1Fill,quadrant2Fill:zp.quadrant2Fill,quadrant3Fill:zp.quadrant3Fill,quadrant4Fill:zp.quadrant4Fill,quadrant1TextFill:zp.quadrant1TextFill,quadrant2TextFill:zp.quadrant2TextFill,quadrant3TextFill:zp.quadrant3TextFill,quadrant4TextFill:zp.quadrant4TextFill,quadrantPointFill:zp.quadrantPointFill,quadrantPointTextFill:zp.quadrantPointTextFill,quadrantXAxisTextFill:zp.quadrantXAxisTextFill,quadrantYAxisTextFill:zp.quadrantYAxisTextFill,quadrantTitleFill:zp.quadrantTitleFill,quadrantInternalBorderStrokeFill:zp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:zp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Xe.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Xe.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&u?v:0,bottom:a==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,E={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+E.left,R=this.config.quadrantPadding+b.top+A.top,B=this.config.chartWidth-this.config.quadrantPadding*2-E.left-E.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,W=B/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:E,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:B,quadrantHalfWidth:W,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(a,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:E,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,B=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&u&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(B?A/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+E+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(B?A/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+E+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+E-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(a){const{quadrantSpace:u}=a,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,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:p,y:b,width:v,height:d,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:p,y:b+d,width:v,height:d,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:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const E of y)E.text.x=E.x+E.width/2,this.data.points.length===0?(E.text.y=E.y+E.height/2,E.text.horizontalPos="middle"):(E.text.y=E.y+this.config.quadrantTextTopPadding,E.text.horizontalPos="top");return y}getQuadrantPoints(a){const{quadrantSpace:u}=a,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=aD().domain([0,1]).range([p,b+p]),E=aD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:E(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:E(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=a,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:E,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:E,x2:b+_+u,y2:E},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:E+u,x2:b+_,y2:E+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:E+v,x2:b+_+u,y2:E+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:E+u,x2:b,y2:E+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:E+u,x2:b+y,y2:E+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:E+p,x2:b+_-u,y2:E+p}]}getTitle(a){if(a)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 a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,a,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,a,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Knn=qt();function G7(i){return bh(i.trim(),Knn)}const qg=new Gnn;function Wnn(i){qg.setData({quadrant1Text:G7(i.text)})}function Ynn(i){qg.setData({quadrant2Text:G7(i.text)})}function Xnn(i){qg.setData({quadrant3Text:G7(i.text)})}function Qnn(i){qg.setData({quadrant4Text:G7(i.text)})}function Jnn(i){qg.setData({xAxisLeftText:G7(i.text)})}function Znn(i){qg.setData({xAxisRightText:G7(i.text)})}function ern(i){qg.setData({yAxisTopText:G7(i.text)})}function trn(i){qg.setData({yAxisBottomText:G7(i.text)})}function nrn(i,a,u){qg.addPoints([{x:a,y:u,text:G7(i.text)}])}function rrn(i){qg.setConfig({chartWidth:i})}function irn(i){qg.setConfig({chartHeight:i})}function srn(){const i=qt(),{themeVariables:a,quadrantChart:u}=i;return u&&qg.setConfig(u),qg.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),qg.setData({titleText:Op()}),qg.build()}const arn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Vnn,db:{setWidth:rrn,setHeight:irn,setQuadrant1Text:Wnn,setQuadrant2Text:Ynn,setQuadrant3Text:Xnn,setQuadrant4Text:Qnn,setXAxisLeftText:Jnn,setXAxisRightText:Znn,setYAxisTopText:ern,setYAxisBottomText:trn,addPoint:nrn,getQuadrantData:srn,clear:function(){qg.clear(),Rg()},setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,getAccDescription:Ip,setAccDescription:Dp},renderer:{draw:(i,a,u,d)=>{var de,X,pe;function p(G){return G==="top"?"hanging":"middle"}function v(G){return G==="left"?"start":"middle"}function b(G){return`translate(${G.x}, ${G.y}) rotate(${G.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart +`+i);const E=y.securityLevel;let _;E==="sandbox"&&(_=Dr("#i"+a));const P=Dr(E==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),R=P.append("g").attr("class","main"),B=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Fg(P,j,B,((pe=y.quadrantChart)==null?void 0:pe.useMaxWidth)||!0),P.attr("viewBox","0 0 "+B+" "+j),d.db.setHeight(j),d.db.setWidth(B);const W=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),be=R.append("g").attr("class","labels"),ge=R.append("g").attr("class","title");W.title&&ge.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",p(W.title.horizontalPos)).attr("text-anchor",v(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&ie.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",G=>G.x1).attr("y1",G=>G.y1).attr("x2",G=>G.x2).attr("y2",G=>G.y2).style("stroke",G=>G.strokeFill).style("stroke-width",G=>G.strokeWidth);const ae=ee.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");ae.append("rect").attr("x",G=>G.x).attr("y",G=>G.y).attr("width",G=>G.width).attr("height",G=>G.height).attr("fill",G=>G.fill),ae.append("text").attr("x",0).attr("y",0).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text)).text(G=>G.text.text),be.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(G=>G.text).attr("fill",G=>G.fill).attr("font-size",G=>G.fontSize).attr("dominant-baseline",G=>p(G.horizontalPos)).attr("text-anchor",G=>v(G.verticalPos)).attr("transform",G=>b(G));const se=oe.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",G=>G.x).attr("cy",G=>G.y).attr("r",G=>G.radius).attr("fill",G=>G.fill),se.append("text").attr("x",0).attr("y",0).text(G=>G.text.text).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var Dve=function(){var i=function(Pe,je,Ie,Se){for(Ie=Ie||{},Se=Pe.length;Se--;Ie[Pe[Se]]=je);return Ie},a=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],E=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],B=[1,31],j=[1,32],W=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],be=[1,37],ge=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pe=[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],G=[1,64],xe={trace:function(){},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:function(je,Ie,Se,Ce,ke,Ke,zt){var Ne=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Ne]);break;case 9:Ce.setDiagramTitle(Ke[Ne].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Ne]);break;case 13:Ce.setLineData(Ke[Ne-1],Ke[Ne]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Ne]);break;case 15:Ce.setBarData(Ke[Ne-1],Ke[Ne]);break;case 16:this.$=Ke[Ne].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Ne].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Ne-1];break;case 20:this.$=[Number(Ke[Ne-2]),...Ke[Ne]];break;case 21:this.$=[Number(Ke[Ne])];break;case 22:Ce.setXAxisTitle(Ke[Ne]);break;case 23:Ce.setXAxisTitle(Ke[Ne-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Ne]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 27:this.$=Ke[Ne-1];break;case 28:this.$=[Ke[Ne-2],...Ke[Ne]];break;case 29:this.$=[Ke[Ne]];break;case 30:Ce.setYAxisTitle(Ke[Ne]);break;case 31:Ce.setYAxisTitle(Ke[Ne-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 37:this.$={text:Ke[Ne],type:"text"};break;case 38:this.$={text:Ke[Ne],type:"text"};break;case 39:this.$={text:Ke[Ne],type:"markdown"};break;case 40:this.$=Ke[Ne];break;case 41:this.$=Ke[Ne-1]+""+Ke[Ne];break}},table:[i(a,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(a,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(a,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{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]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(a,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(a,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:39,13:38,24:ge,27:ae,29:40,30:41,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:45,15:44,27:ne,33:46,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:49,17:48,24:se,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:52,17:51,24:se,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be}),i(X,[2,38]),i(X,[2,39]),i(pe,[2,40]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),i(pe,[2,47]),i(pe,[2,48]),i(pe,[2,49]),i(pe,[2,50]),i(pe,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:ge,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:G},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(pe,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,33]),i(de,[2,19]),{25:73,27:G},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],zt=this.table,Ne="",pn=0,Tt=0,Et=2,Wt=1,un=Ke.slice.call(arguments,1),yt=Object.create(this.lexer),Bt={yy:{}};for(var Ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ze)&&(Bt.yy[Ze]=this.yy[Ze]);yt.setInput(je,Bt.yy),Bt.yy.lexer=yt,Bt.yy.parser=this,typeof yt.yylloc>"u"&&(yt.yylloc={});var Dt=yt.yylloc;Ke.push(Dt);var kt=yt.options&&yt.options.ranges;typeof Bt.yy.parseError=="function"?this.parseError=Bt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var Rn;return Rn=Ce.pop()||yt.lex()||Wt,typeof Rn!="number"&&(Rn instanceof Array&&(Ce=Rn,Rn=Ce.pop()),Rn=Ie.symbols_[Rn]||Rn),Rn}for(var ht,qr,xt,Ri,wi={},ia,Hs,mo,Tr;;){if(qr=Se[Se.length-1],this.defaultActions[qr]?xt=this.defaultActions[qr]:((ht===null||typeof ht>"u")&&(ht=Nn()),xt=zt[qr]&&zt[qr][ht]),typeof xt>"u"||!xt.length||!xt[0]){var On="";Tr=[];for(ia in zt[qr])this.terminals_[ia]&&ia>Et&&Tr.push("'"+this.terminals_[ia]+"'");yt.showPosition?On="Parse error on line "+(pn+1)+`: +`+yt.showPosition()+` +Expecting `+Tr.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":On="Parse error on line "+(pn+1)+": Unexpected "+(ht==Wt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(On,{text:yt.match,token:this.terminals_[ht]||ht,line:yt.yylineno,loc:Dt,expected:Tr})}if(xt[0]instanceof Array&&xt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qr+", token: "+ht);switch(xt[0]){case 1:Se.push(ht),ke.push(yt.yytext),Ke.push(yt.yylloc),Se.push(xt[1]),ht=null,Tt=yt.yyleng,Ne=yt.yytext,pn=yt.yylineno,Dt=yt.yylloc;break;case 2:if(Hs=this.productions_[xt[1]][1],wi.$=ke[ke.length-Hs],wi._$={first_line:Ke[Ke.length-(Hs||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(Hs||1)].first_column,last_column:Ke[Ke.length-1].last_column},kt&&(wi._$.range=[Ke[Ke.length-(Hs||1)].range[0],Ke[Ke.length-1].range[1]]),Ri=this.performAction.apply(wi,[Ne,Tt,pn,Bt.yy,xt[1],ke,Ke].concat(un)),typeof Ri<"u")return Ri;Hs&&(Se=Se.slice(0,-1*Hs*2),ke=ke.slice(0,-1*Hs),Ke=Ke.slice(0,-1*Hs)),Se.push(this.productions_[xt[1]][0]),ke.push(wi.$),Ke.push(wi._$),mo=zt[Se[Se.length-2]][Se[Se.length-1]],Se.push(mo);break;case 3:return!0}}return!0}},U=function(){var Pe={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,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},input:function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=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),Se.length-1&&(this.yylineno-=Se.length-1);var ke=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:Se?(Se.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+` +`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={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&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,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(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;KeIe[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){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 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},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,/^(?:(?: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,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],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:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Pe}();xe.lexer=U;function Be(){this.yy={}}return Be.prototype=xe,xe.Parser=Be,new Be}();Dve.parser=Dve;const orn=Dve;function qGe(i){return i.type==="bar"}function HGe(i){return i.type==="band"}function KR(i){return i.type==="linear"}class UGe{constructor(a){this.parentGroup=a}getMaxDimension(a,u){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of a){const b=sen(p,1,v),y=b?b.width:v.length*u,E=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,E)}return p.remove(),d}}const VGe=.7,GGe=.2;class KGe{constructor(a,u,d,p){this.axisConfig=a,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,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(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){VGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(VGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let u=a.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=GGe*a.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-u}calculateSpaceIfDrawnVertical(a){let u=a.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=GGe*a.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=a.width-u,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.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(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),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 u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),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 u=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}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():[]}}class crn extends KGe{constructor(a,u,d,p,v){super(a,p,v,u),this.categories=d,this.scale=n2e().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=n2e().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class urn extends KGe{constructor(a,u,d,p,v){super(a,p,v,u),this.domain=d,this.scale=aD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=aD().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function WGe(i,a,u,d){const p=new UGe(d);return HGe(i)?new crn(a,u,i.categories,i.title,p):new urn(a,u,[i.min,i.max],i.title,p)}class lrn{constructor(a,u,d,p){this.textDimensionCalculator=a,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,a.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.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}]}),a}}function hrn(i,a,u,d){const p=new UGe(d);return new lrn(p,i,a,u)}class frn{constructor(a,u,d,p,v){this.plotData=a,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=E7().y(d=>d[0]).x(d=>d[1])(a):u=E7().x(d=>d[0]).y(d=>d[1])(a),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class drn{constructor(a,u,d,p,v,b){this.barData=a,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class grn{constructor(a,u,d){this.chartConfig=a,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,u){this.xAxis=a,this.yAxis=u}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.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 a=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new frn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);a.push(...p.getDrawableElement())}break;case"bar":{const p=new drn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);a.push(...p.getDrawableElement())}break}return a}}function prn(i,a,u){return new grn(i,a,u)}class brn{constructor(a,u,d,p){this.chartConfig=a,this.chartData=u,this.componentStore={title:hrn(a,u,d,p),plot:prn(a,u,d),xAxis:WGe(u.xAxis,a.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:WGe(u.yAxis,a.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let a=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});a-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:a,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:a,height:u}),d=y.width,a-=y.width,a>0&&(v+=a,a=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(E=>qGe(E))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let a=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:b,height:y});a-=E.width,u-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=E.height,u-=E.height,this.componentStore.xAxis.setAxisPosition("left"),E=this.componentStore.xAxis.calculateSpace({width:a,height:u}),a-=E.width,p=E.width,this.componentStore.yAxis.setAxisPosition("top"),E=this.componentStore.yAxis.calculateSpace({width:a,height:u}),u-=E.height,v=d+E.height,a>0&&(b+=a,a=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>qGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))a.push(...u.getDrawableElements());return a}}class mrn{static build(a,u,d,p){return new brn(a,u,d,p).getDrawableElement()}}let WR=0,YGe,YR=QGe(),XR=XGe(),el=JGe(),Ive=XR.plotColorPalette.split(",").map(i=>i.trim()),AJ=!1,Ove=!1;function XGe(){const i=S2e(),a=mh();return cR(i.xyChart,a.themeVariables.xyChart)}function QGe(){const i=mh();return cR(nh.xyChart,i.xyChart)}function JGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Nve(i){const a=mh();return bh(i.trim(),a)}function vrn(i){YGe=i}function wrn(i){i==="horizontal"?YR.chartOrientation="horizontal":YR.chartOrientation="vertical"}function yrn(i){el.xAxis.title=Nve(i.text)}function ZGe(i,a){el.xAxis={type:"linear",title:el.xAxis.title,min:i,max:a},AJ=!0}function xrn(i){el.xAxis={type:"band",title:el.xAxis.title,categories:i.map(a=>Nve(a.text))},AJ=!0}function krn(i){el.yAxis.title=Nve(i.text)}function Trn(i,a){el.yAxis={type:"linear",title:el.yAxis.title,min:i,max:a},Ove=!0}function Ern(i){const a=Math.min(...i),u=Math.max(...i),d=KR(el.yAxis)?el.yAxis.min:1/0,p=KR(el.yAxis)?el.yAxis.max:-1/0;el.yAxis={type:"linear",title:el.yAxis.title,min:Math.min(d,a),max:Math.max(p,u)}}function eKe(i){let a=[];if(i.length===0)return a;if(!AJ){const u=KR(el.xAxis)?el.xAxis.min:1/0,d=KR(el.xAxis)?el.xAxis.max:-1/0;ZGe(Math.min(u,1),Math.max(d,i.length))}if(Ove||Ern(i),HGe(el.xAxis)&&(a=el.xAxis.categories.map((u,d)=>[u,i[d]])),KR(el.xAxis)){const u=el.xAxis.min,d=el.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);a=v.map((b,y)=>[b,i[y]])}return a}function tKe(i){return Ive[i===0?0:i%Ive.length]}function Crn(i,a){const u=eKe(a);el.plots.push({type:"line",strokeFill:tKe(WR),strokeWidth:2,data:u}),WR++}function Srn(i,a){const u=eKe(a);el.plots.push({type:"bar",fill:tKe(WR),data:u}),WR++}function _rn(){if(el.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return el.title=Op(),mrn.build(YR,el,XR,YGe)}function Arn(){return XR}function Lrn(){return YR}const Mrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:orn,db:{getDrawableElem:_rn,clear:function(){Rg(),WR=0,YR=QGe(),el=JGe(),XR=XGe(),Ive=XR.plotColorPalette.split(",").map(i=>i.trim()),AJ=!1,Ove=!1},setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,getAccDescription:Ip,setAccDescription:Dp,setOrientation:wrn,setXAxisTitle:yrn,setXAxisRangeData:ZGe,setXAxisBand:xrn,setYAxisTitle:krn,setYAxisRangeData:Trn,setLineData:Crn,setBarData:Srn,setTmpSVGG:vrn,getChartThemeConfig:Arn,getChartConfig:Lrn},renderer:{draw:(i,a,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function E(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart +`+i);const A=dR(a),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Fg(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const B=p.getDrawableElem(),j={};function W(ee){let ie=P,oe="";for(const[be]of ee.entries()){let ge=P;be>0&&j[oe]&&(ge=j[oe]),oe+=ee[be],ie=j[oe],ie||(ie=j[oe]=ge.append("g").attr("class",ee[be]))}return ie}for(const ee of B){if(ee.data.length===0)continue;const ie=W(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>E(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var Pve=function(){var i=function(Tt,Et,Wt,un){for(Wt=Wt||{},un=Tt.length;un--;Wt[Tt[un]]=Et);return Wt},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],E=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],B=[1,27],j=[1,20],W=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],be=[1,47],ge=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],pe=[53,54],G=[1,64],xe=[1,60],U=[1,61],Be=[1,62],Pe=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],zt={trace:function(){},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,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$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",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"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],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Et,Wt,un,yt,Bt,Ze,Dt){var kt=Ze.length-1;switch(Bt){case 4:this.$=Ze[kt].trim(),yt.setAccTitle(this.$);break;case 5:case 6:this.$=Ze[kt].trim(),yt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:yt.addRequirement(Ze[kt-3],Ze[kt-4]);break;case 14:yt.setNewReqId(Ze[kt-2]);break;case 15:yt.setNewReqText(Ze[kt-2]);break;case 16:yt.setNewReqRisk(Ze[kt-2]);break;case 17:yt.setNewReqVerifyMethod(Ze[kt-2]);break;case 20:this.$=yt.RequirementType.REQUIREMENT;break;case 21:this.$=yt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=yt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=yt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=yt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=yt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=yt.RiskLevel.LOW_RISK;break;case 27:this.$=yt.RiskLevel.MED_RISK;break;case 28:this.$=yt.RiskLevel.HIGH_RISK;break;case 29:this.$=yt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=yt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=yt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=yt.VerifyType.VERIFY_TEST;break;case 33:yt.addElement(Ze[kt-3]);break;case 34:yt.setNewElementType(Ze[kt-2]);break;case 35:yt.setNewElementDocRef(Ze[kt-2]);break;case 38:yt.addRelationship(Ze[kt-2],Ze[kt],Ze[kt-4]);break;case 39:yt.addRelationship(Ze[kt-2],Ze[kt-4],Ze[kt]);break;case 40:this.$=yt.Relationships.CONTAINS;break;case 41:this.$=yt.Relationships.COPIES;break;case 42:this.$=yt.Relationships.DERIVES;break;case 43:this.$=yt.Relationships.SATISFIES;break;case 44:this.$=yt.Relationships.VERIFIES;break;case 45:this.$=yt.Relationships.REFINES;break;case 46:this.$=yt.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:a,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pe,[2,40]),i(pe,[2,41]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),{54:[1,58]},{5:G,20:59,21:xe,24:U,26:Be,28:Pe,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:W,63:ee},{23:72,62:W,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:G,20:77,21:xe,24:U,26:Be,28:Pe,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:W,63:ee},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:G,20:106,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:107,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:108,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:109,21:xe,24:U,26:Be,28:Pe,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Et,Wt){if(Wt.recoverable)this.trace(Et);else{var un=new Error(Et);throw un.hash=Wt,un}},parse:function(Et){var Wt=this,un=[0],yt=[],Bt=[null],Ze=[],Dt=this.table,kt="",Nn=0,ht=0,qr=2,xt=1,Ri=Ze.slice.call(arguments,1),wi=Object.create(this.lexer),ia={yy:{}};for(var Hs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Hs)&&(ia.yy[Hs]=this.yy[Hs]);wi.setInput(Et,ia.yy),ia.yy.lexer=wi,ia.yy.parser=this,typeof wi.yylloc>"u"&&(wi.yylloc={});var mo=wi.yylloc;Ze.push(mo);var Tr=wi.options&&wi.options.ranges;typeof ia.yy.parseError=="function"?this.parseError=ia.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var Us;return Us=yt.pop()||wi.lex()||xt,typeof Us!="number"&&(Us instanceof Array&&(yt=Us,Us=yt.pop()),Us=Wt.symbols_[Us]||Us),Us}for(var Rn,zn,Ct,gt,on={},dn,Ln,Io,Oo;;){if(zn=un[un.length-1],this.defaultActions[zn]?Ct=this.defaultActions[zn]:((Rn===null||typeof Rn>"u")&&(Rn=On()),Ct=Dt[zn]&&Dt[zn][Rn]),typeof Ct>"u"||!Ct.length||!Ct[0]){var No="";Oo=[];for(dn in Dt[zn])this.terminals_[dn]&&dn>qr&&Oo.push("'"+this.terminals_[dn]+"'");wi.showPosition?No="Parse error on line "+(Nn+1)+`: +`+wi.showPosition()+` +Expecting `+Oo.join(", ")+", got '"+(this.terminals_[Rn]||Rn)+"'":No="Parse error on line "+(Nn+1)+": Unexpected "+(Rn==xt?"end of input":"'"+(this.terminals_[Rn]||Rn)+"'"),this.parseError(No,{text:wi.match,token:this.terminals_[Rn]||Rn,line:wi.yylineno,loc:mo,expected:Oo})}if(Ct[0]instanceof Array&&Ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zn+", token: "+Rn);switch(Ct[0]){case 1:un.push(Rn),Bt.push(wi.yytext),Ze.push(wi.yylloc),un.push(Ct[1]),Rn=null,ht=wi.yyleng,kt=wi.yytext,Nn=wi.yylineno,mo=wi.yylloc;break;case 2:if(Ln=this.productions_[Ct[1]][1],on.$=Bt[Bt.length-Ln],on._$={first_line:Ze[Ze.length-(Ln||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Ln||1)].first_column,last_column:Ze[Ze.length-1].last_column},Tr&&(on._$.range=[Ze[Ze.length-(Ln||1)].range[0],Ze[Ze.length-1].range[1]]),gt=this.performAction.apply(on,[kt,ht,Nn,ia.yy,Ct[1],Bt,Ze].concat(Ri)),typeof gt<"u")return gt;Ln&&(un=un.slice(0,-1*Ln*2),Bt=Bt.slice(0,-1*Ln),Ze=Ze.slice(0,-1*Ln)),un.push(this.productions_[Ct[1]][0]),Bt.push(on.$),Ze.push(on._$),Io=Dt[un[un.length-2]][un[un.length-1]],un.push(Io);break;case 3:return!0}}return!0}},Ne=function(){var Tt={EOF:1,parseError:function(Wt,un){if(this.yy.parser)this.yy.parser.parseError(Wt,un);else throw new Error(Wt)},setInput:function(Et,Wt){return this.yy=Wt||this.yy||{},this._input=Et,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},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Wt=Et.match(/(?:\r\n?|\n).*/g);return Wt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Wt=Et.length,un=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Wt),this.offset-=Wt;var yt=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),un.length-1&&(this.yylineno-=un.length-1);var Bt=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:un?(un.length===yt.length?this.yylloc.first_column:0)+yt[yt.length-un.length].length-un[0].length:this.yylloc.first_column-Wt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-Wt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Wt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Wt+"^"},test_match:function(Et,Wt){var un,yt,Bt;if(this.options.backtrack_lexer&&(Bt={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&&(Bt.yylloc.range=this.yylloc.range.slice(0))),yt=Et[0].match(/(?:\r\n?|\n).*/g),yt&&(this.yylineno+=yt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:yt?yt[yt.length-1].length-yt[yt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],un=this.performAction.call(this,this.yy,this,Wt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),un)return un;if(this._backtrack){for(var Ze in Bt)this[Ze]=Bt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Wt,un,yt;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Ze=0;ZeWt[0].length)){if(Wt=un,yt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(un,Bt[Ze]),Et!==!1)return Et;if(this._backtrack){Wt=!1;continue}else return!1}else if(!this.options.flex)break}return Wt?(Et=this.test_match(Wt,Bt[yt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Wt=this.next();return Wt||this.lex()},begin:function(Wt){this.conditionStack.push(Wt)},popState:function(){var Wt=this.conditionStack.length-1;return Wt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Wt){return Wt=this.conditionStack.length-1-Math.abs(Wt||0),Wt>=0?this.conditionStack[Wt]:"INITIAL"},pushState:function(Wt){this.begin(Wt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Wt,un,yt,Bt){switch(yt){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 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return un.yytext=un.yytext.trim(),62}},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,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/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,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],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,50],inclusive:!0}}};return Tt}();zt.lexer=Ne;function pn(){this.yy={}}return pn.prototype=zt,zt.Parser=pn,new pn}();Pve.parser=Pve;const Drn=Pve;let Bve=[],Z2={},QR={},j9={},JR={};const Irn={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>qt().req,addRequirement:(i,a)=>(QR[i]===void 0&&(QR[i]={name:i,type:a,id:Z2.id,text:Z2.text,risk:Z2.risk,verifyMethod:Z2.verifyMethod}),Z2={},QR[i]),getRequirements:()=>QR,setNewReqId:i=>{Z2!==void 0&&(Z2.id=i)},setNewReqText:i=>{Z2!==void 0&&(Z2.text=i)},setNewReqRisk:i=>{Z2!==void 0&&(Z2.risk=i)},setNewReqVerifyMethod:i=>{Z2!==void 0&&(Z2.verifyMethod=i)},setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addElement:i=>(JR[i]===void 0&&(JR[i]={name:i,type:j9.type,docRef:j9.docRef},Xe.info("Added new requirement: ",i)),j9={},JR[i]),getElements:()=>JR,setNewElementType:i=>{j9!==void 0&&(j9.type=i)},setNewElementDocRef:i=>{j9!==void 0&&(j9.docRef=i)},addRelationship:(i,a,u)=>{Bve.push({type:i,src:a,dst:u})},getRelationships:()=>Bve,clear:()=>{Bve=[],Z2={},QR={},j9={},JR={},Rg()}},Orn=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,Fve={CONTAINS:"contains",ARROW:"arrow"},nKe={ReqMarkers:Fve,insertLineEndings:(i,a)=>{let u=i.append("defs").append("marker").attr("id",Fve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",Fve.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${a.line_height},${a.line_height/2} + M${a.line_height},${a.line_height/2} + L0,${a.line_height}`).attr("stroke-width",1)}};let Ef={},rKe=0;const iKe=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Ef.rect_min_width+"px").attr("height",Ef.rect_min_height+"px"),sKe=(i,a,u)=>{let d=Ef.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",d).attr("y",Ef.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",Ef.line_height*.75).text(_),v++});let b=1.5*Ef.rect_padding,y=v*Ef.line_height*.75,E=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Ef.rect_min_width).attr("y1",E).attr("y2",E),{titleNode:p,y:E}},aKe=(i,a,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Ef.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(E=>{let _=E.length;for(;_>b&&v<3;){let A=E.substring(0,b);E=E.substring(b,E.length),_=E.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=E;v=0}),y.forEach(E=>{p.append("tspan").attr("x",Ef.rect_padding).attr("dy",Ef.line_height).text(E)}),p},Nrn=(i,a,u,d)=>{const p=a.node().getTotalLength(),v=a.node().getPointAtLength(p*.5),b="rel"+rKe;rKe++;const E=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-E.width/2).attr("y",v.y-E.height/2).attr("width",E.width).attr("height",E.height).attr("fill","white").attr("fill-opacity","85%")},Prn=function(i,a,u,d,p){const v=u.edge(nI(a.src),nI(a.dst)),b=E7().x(function(E){return E.x}).y(function(E){return E.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+oi.getUrl(Ef.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+oi.getUrl(Ef.arrowMarkerAbsolute)+"#"+nKe.ReqMarkers.ARROW+"_line_ending)")),Nrn(i,y,Ef,`<<${a.type}>>`)},Brn=(i,a,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=nI(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=iKe(v,b);let E=sKe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);aKe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],E.y);const _=y.node().getBBox();a.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},Frn=(i,a,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=nI(d),b=u.append("g").attr("id",v),y="element-"+v,E=iKe(b,y);let _=sKe(b,y+"_title",["<>",`${d}`]);aKe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=E.node().getBBox();a.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},Rrn=(i,a)=>(i.forEach(function(u){let d=nI(u.src),p=nI(u.dst);a.setEdge(d,p,{relationship:u})}),i),jrn=function(i,a){a.nodes().forEach(function(u){u!==void 0&&a.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(a.node(u).x-a.node(u).width/2)+","+(a.node(u).y-a.node(u).height/2)+" )"))})},nI=i=>i.replace(/\s/g,"").replace(/\./g,"_"),$rn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Drn,db:Irn,renderer:{draw:(i,a,u,d)=>{Ef=qt().requirement;const p=Ef.securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const y=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);nKe.insertLineEndings(y,Ef);const E=new R0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Ef.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();Brn(_,E,y),Frn(A,E,y),Rrn(P,E),XD(E),jrn(y,E),P.forEach(function(ee){Prn(y,ee,E,a,d)});const R=Ef.rect_padding,B=y.node().getBBox(),j=B.width+R*2,W=B.height+R*2;Fg(y,W,j,Ef.useMaxWidth),y.attr("viewBox",`${B.x-R} ${B.y-R} ${j} ${W}`)}},styles:Orn}},Symbol.toStringTag,{value:"Module"}));var Rve=function(){var i=function(yt,Bt,Ze,Dt){for(Ze=Ze||{},Dt=yt.length;Dt--;Ze[yt[Dt]]=Bt);return Ze},a=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],E=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],B=[1,25],j=[1,26],W=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],be=[1,31],ge=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],pe=[1,38],G=[1,39],xe=[1,41],U=[1,42],Be=[1,43],Pe=[1,44],je=[1,45],Ie=[1,46],Se=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ce=[4,5,16,50,52,53],ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],zt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ne=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],pn=[68,69,70],Tt=[1,120],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",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",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,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],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Bt,Ze,Dt,kt,Nn,ht,qr){var xt=ht.length-1;switch(Nn){case 3:return kt.apply(ht[xt]),ht[xt];case 4:case 9:this.$=[];break;case 5:case 10:ht[xt-1].push(ht[xt]),this.$=ht[xt-1];break;case 6:case 7:case 11:case 12:this.$=ht[xt];break;case 8:case 13:this.$=[];break;case 15:ht[xt].type="createParticipant",this.$=ht[xt];break;case 16:ht[xt-1].unshift({type:"boxStart",boxData:kt.parseBoxData(ht[xt-2])}),ht[xt-1].push({type:"boxEnd",boxText:ht[xt-2]}),this.$=ht[xt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[xt-2]),sequenceIndexStep:Number(ht[xt-1]),sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[xt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:kt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[xt-1]};break;case 23:this.$={type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[xt-1]};break;case 29:kt.setDiagramTitle(ht[xt].substring(6)),this.$=ht[xt].substring(6);break;case 30:kt.setDiagramTitle(ht[xt].substring(7)),this.$=ht[xt].substring(7);break;case 31:this.$=ht[xt].trim(),kt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[xt].trim(),kt.setAccDescription(this.$);break;case 34:ht[xt-1].unshift({type:"loopStart",loopText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.LOOP_START}),ht[xt-1].push({type:"loopEnd",loopText:ht[xt-2],signalType:kt.LINETYPE.LOOP_END}),this.$=ht[xt-1];break;case 35:ht[xt-1].unshift({type:"rectStart",color:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.RECT_START}),ht[xt-1].push({type:"rectEnd",color:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.RECT_END}),this.$=ht[xt-1];break;case 36:ht[xt-1].unshift({type:"optStart",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.OPT_START}),ht[xt-1].push({type:"optEnd",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.OPT_END}),this.$=ht[xt-1];break;case 37:ht[xt-1].unshift({type:"altStart",altText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.ALT_START}),ht[xt-1].push({type:"altEnd",signalType:kt.LINETYPE.ALT_END}),this.$=ht[xt-1];break;case 38:ht[xt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.PAR_START}),ht[xt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[xt-1];break;case 39:ht[xt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.PAR_OVER_START}),ht[xt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[xt-1];break;case 40:ht[xt-1].unshift({type:"criticalStart",criticalText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.CRITICAL_START}),ht[xt-1].push({type:"criticalEnd",signalType:kt.LINETYPE.CRITICAL_END}),this.$=ht[xt-1];break;case 41:ht[xt-1].unshift({type:"breakStart",breakText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.BREAK_START}),ht[xt-1].push({type:"breakEnd",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.BREAK_END}),this.$=ht[xt-1];break;case 43:this.$=ht[xt-3].concat([{type:"option",optionText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.CRITICAL_OPTION},ht[xt]]);break;case 45:this.$=ht[xt-3].concat([{type:"and",parText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.PAR_AND},ht[xt]]);break;case 47:this.$=ht[xt-3].concat([{type:"else",altText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.ALT_ELSE},ht[xt]]);break;case 48:ht[xt-3].draw="participant",ht[xt-3].type="addParticipant",ht[xt-3].description=kt.parseMessage(ht[xt-1]),this.$=ht[xt-3];break;case 49:ht[xt-1].draw="participant",ht[xt-1].type="addParticipant",this.$=ht[xt-1];break;case 50:ht[xt-3].draw="actor",ht[xt-3].type="addParticipant",ht[xt-3].description=kt.parseMessage(ht[xt-1]),this.$=ht[xt-3];break;case 51:ht[xt-1].draw="actor",ht[xt-1].type="addParticipant",this.$=ht[xt-1];break;case 52:ht[xt-1].type="destroyParticipant",this.$=ht[xt-1];break;case 53:this.$=[ht[xt-1],{type:"addNote",placement:ht[xt-2],actor:ht[xt-1].actor,text:ht[xt]}];break;case 54:ht[xt-2]=[].concat(ht[xt-1],ht[xt-1]).slice(0,2),ht[xt-2][0]=ht[xt-2][0].actor,ht[xt-2][1]=ht[xt-2][1].actor,this.$=[ht[xt-1],{type:"addNote",placement:kt.PLACEMENT.OVER,actor:ht[xt-2].slice(0,2),text:ht[xt]}];break;case 55:this.$=[ht[xt-1],{type:"addLinks",actor:ht[xt-1].actor,text:ht[xt]}];break;case 56:this.$=[ht[xt-1],{type:"addALink",actor:ht[xt-1].actor,text:ht[xt]}];break;case 57:this.$=[ht[xt-1],{type:"addProperties",actor:ht[xt-1].actor,text:ht[xt]}];break;case 58:this.$=[ht[xt-1],{type:"addDetails",actor:ht[xt-1].actor,text:ht[xt]}];break;case 61:this.$=[ht[xt-2],ht[xt]];break;case 62:this.$=ht[xt];break;case 63:this.$=kt.PLACEMENT.LEFTOF;break;case 64:this.$=kt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[xt-4],ht[xt-1],{type:"addMessage",from:ht[xt-4].actor,to:ht[xt-1].actor,signalType:ht[xt-3],msg:ht[xt],activate:!0},{type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[xt-1]}];break;case 66:this.$=[ht[xt-4],ht[xt-1],{type:"addMessage",from:ht[xt-4].actor,to:ht[xt-1].actor,signalType:ht[xt-3],msg:ht[xt]},{type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[xt-4]}];break;case 67:this.$=[ht[xt-3],ht[xt-1],{type:"addMessage",from:ht[xt-3].actor,to:ht[xt-1].actor,signalType:ht[xt-2],msg:ht[xt]}];break;case 68:this.$={type:"addParticipant",actor:ht[xt]};break;case 69:this.$=kt.LINETYPE.SOLID_OPEN;break;case 70:this.$=kt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=kt.LINETYPE.SOLID;break;case 72:this.$=kt.LINETYPE.DOTTED;break;case 73:this.$=kt.LINETYPE.SOLID_CROSS;break;case 74:this.$=kt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=kt.LINETYPE.SOLID_POINT;break;case 76:this.$=kt.LINETYPE.DOTTED_POINT;break;case 77:this.$=kt.parseMessage(ht[xt].trim().substring(1));break}},table:[{3:1,4:a,5:u,6:d},{1:[3]},{3:5,4:a,5:u,6:d},{3:6,4:a,5:u,6:d},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:E,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:E,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:pe,53:G},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ie},{22:72,70:Ie},{22:73,70:Ie},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(zt,p,{42:102,7:103}),i(zt,p,{7:103,42:104}),i(Ne,p,{45:105,7:106}),i(ke,p,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ie},i(pn,[2,69]),i(pn,[2,70]),i(pn,[2,71]),i(pn,[2,72]),i(pn,[2,73]),i(pn,[2,74]),i(pn,[2,75]),i(pn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:Tt},{56:121,79:Tt},{56:122,79:Tt},{56:123,79:Tt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pe,53:G},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:Tt},{56:146,79:Tt},{56:147,79:Tt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:pe,53:G},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Tt},{56:156,79:Tt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(zt,p,{7:103,42:159}),i(Ne,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Bt,Ze){if(Ze.recoverable)this.trace(Bt);else{var Dt=new Error(Bt);throw Dt.hash=Ze,Dt}},parse:function(Bt){var Ze=this,Dt=[0],kt=[],Nn=[null],ht=[],qr=this.table,xt="",Ri=0,wi=0,ia=2,Hs=1,mo=ht.slice.call(arguments,1),Tr=Object.create(this.lexer),On={yy:{}};for(var Rn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Rn)&&(On.yy[Rn]=this.yy[Rn]);Tr.setInput(Bt,On.yy),On.yy.lexer=Tr,On.yy.parser=this,typeof Tr.yylloc>"u"&&(Tr.yylloc={});var zn=Tr.yylloc;ht.push(zn);var Ct=Tr.options&&Tr.options.ranges;typeof On.yy.parseError=="function"?this.parseError=On.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gt(){var _c;return _c=kt.pop()||Tr.lex()||Hs,typeof _c!="number"&&(_c instanceof Array&&(kt=_c,_c=kt.pop()),_c=Ze.symbols_[_c]||_c),_c}for(var on,dn,Ln,Io,Oo={},No,Us,uo,Es;;){if(dn=Dt[Dt.length-1],this.defaultActions[dn]?Ln=this.defaultActions[dn]:((on===null||typeof on>"u")&&(on=gt()),Ln=qr[dn]&&qr[dn][on]),typeof Ln>"u"||!Ln.length||!Ln[0]){var Ou="";Es=[];for(No in qr[dn])this.terminals_[No]&&No>ia&&Es.push("'"+this.terminals_[No]+"'");Tr.showPosition?Ou="Parse error on line "+(Ri+1)+`: +`+Tr.showPosition()+` +Expecting `+Es.join(", ")+", got '"+(this.terminals_[on]||on)+"'":Ou="Parse error on line "+(Ri+1)+": Unexpected "+(on==Hs?"end of input":"'"+(this.terminals_[on]||on)+"'"),this.parseError(Ou,{text:Tr.match,token:this.terminals_[on]||on,line:Tr.yylineno,loc:zn,expected:Es})}if(Ln[0]instanceof Array&&Ln.length>1)throw new Error("Parse Error: multiple actions possible at state: "+dn+", token: "+on);switch(Ln[0]){case 1:Dt.push(on),Nn.push(Tr.yytext),ht.push(Tr.yylloc),Dt.push(Ln[1]),on=null,wi=Tr.yyleng,xt=Tr.yytext,Ri=Tr.yylineno,zn=Tr.yylloc;break;case 2:if(Us=this.productions_[Ln[1]][1],Oo.$=Nn[Nn.length-Us],Oo._$={first_line:ht[ht.length-(Us||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(Us||1)].first_column,last_column:ht[ht.length-1].last_column},Ct&&(Oo._$.range=[ht[ht.length-(Us||1)].range[0],ht[ht.length-1].range[1]]),Io=this.performAction.apply(Oo,[xt,wi,Ri,On.yy,Ln[1],Nn,ht].concat(mo)),typeof Io<"u")return Io;Us&&(Dt=Dt.slice(0,-1*Us*2),Nn=Nn.slice(0,-1*Us),ht=ht.slice(0,-1*Us)),Dt.push(this.productions_[Ln[1]][0]),Nn.push(Oo.$),ht.push(Oo._$),uo=qr[Dt[Dt.length-2]][Dt[Dt.length-1]],Dt.push(uo);break;case 3:return!0}}return!0}},Wt=function(){var yt={EOF:1,parseError:function(Ze,Dt){if(this.yy.parser)this.yy.parser.parseError(Ze,Dt);else throw new Error(Ze)},setInput:function(Bt,Ze){return this.yy=Ze||this.yy||{},this._input=Bt,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},input:function(){var Bt=this._input[0];this.yytext+=Bt,this.yyleng++,this.offset++,this.match+=Bt,this.matched+=Bt;var Ze=Bt.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),Bt},unput:function(Bt){var Ze=Bt.length,Dt=Bt.split(/(?:\r\n?|\n)/g);this._input=Bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ze),this.offset-=Ze;var kt=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),Dt.length-1&&(this.yylineno-=Dt.length-1);var Nn=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:Dt?(Dt.length===kt.length?this.yylloc.first_column:0)+kt[kt.length-Dt.length].length-Dt[0].length:this.yylloc.first_column-Ze},this.options.ranges&&(this.yylloc.range=[Nn[0],Nn[0]+this.yyleng-Ze]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Bt){this.unput(this.match.slice(Bt))},pastInput:function(){var Bt=this.matched.substr(0,this.matched.length-this.match.length);return(Bt.length>20?"...":"")+Bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Bt=this.match;return Bt.length<20&&(Bt+=this._input.substr(0,20-Bt.length)),(Bt.substr(0,20)+(Bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Bt=this.pastInput(),Ze=new Array(Bt.length+1).join("-");return Bt+this.upcomingInput()+` +`+Ze+"^"},test_match:function(Bt,Ze){var Dt,kt,Nn;if(this.options.backtrack_lexer&&(Nn={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&&(Nn.yylloc.range=this.yylloc.range.slice(0))),kt=Bt[0].match(/(?:\r\n?|\n).*/g),kt&&(this.yylineno+=kt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:kt?kt[kt.length-1].length-kt[kt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bt[0].length},this.yytext+=Bt[0],this.match+=Bt[0],this.matches=Bt,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(Bt[0].length),this.matched+=Bt[0],Dt=this.performAction.call(this,this.yy,this,Ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Dt)return Dt;if(this._backtrack){for(var ht in Nn)this[ht]=Nn[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Bt,Ze,Dt,kt;this._more||(this.yytext="",this.match="");for(var Nn=this._currentRules(),ht=0;htZe[0].length)){if(Ze=Dt,kt=ht,this.options.backtrack_lexer){if(Bt=this.test_match(Dt,Nn[ht]),Bt!==!1)return Bt;if(this._backtrack){Ze=!1;continue}else return!1}else if(!this.options.flex)break}return Ze?(Bt=this.test_match(Ze,Nn[kt]),Bt!==!1?Bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ze=this.next();return Ze||this.lex()},begin:function(Ze){this.conditionStack.push(Ze)},popState:function(){var Ze=this.conditionStack.length-1;return Ze>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ze){return Ze=this.conditionStack.length-1-Math.abs(Ze||0),Ze>=0?this.conditionStack[Ze]:"INITIAL"},pushState:function(Ze){this.begin(Ze)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ze,Dt,kt,Nn){switch(kt){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return Dt.yytext=Dt.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return Dt.yytext=Dt.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/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,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return yt}();Et.lexer=Wt;function un(){this.yy={}}return un.prototype=Et,Et.Parser=un,new un}();Rve.parser=Rve;const zrn=Rve;class qrn{constructor(a){this.init=a,this.records=this.init()}reset(){this.records=this.init()}}const Is=new qrn(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Hrn=function(i){Is.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&ZC()||!!i.wrap,fill:i.color,actorKeys:[]}),Is.records.currentBox=Is.records.boxes.slice(-1)[0]},jve=function(i,a,u,d){let p=Is.records.currentBox;const v=Is.records.actors[i];if(v){if(Is.records.currentBox&&v.box&&Is.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Is.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Is.records.currentBox,v.box=p,v&&a===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:a,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:a,wrap:null,type:d}),Is.records.actors[i]={box:p,name:a,description:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,prevActor:Is.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Is.records.prevActor&&Is.records.actors[Is.records.prevActor]&&(Is.records.actors[Is.records.prevActor].nextActor=i),Is.records.currentBox&&Is.records.currentBox.actorKeys.push(i),Is.records.prevActor=i},Urn=i=>{let a,u=0;for(a=0;a>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Is.records.messages.push({from:i,to:a,message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,type:d,activate:p}),!0},Grn=function(){return Is.records.boxes.length>0},Krn=function(){return Is.records.boxes.some(i=>i.name)},Wrn=function(){return Is.records.messages},Yrn=function(){return Is.records.boxes},Xrn=function(){return Is.records.actors},Qrn=function(){return Is.records.createdActors},Jrn=function(){return Is.records.destroyedActors},ZR=function(i){return Is.records.actors[i]},Zrn=function(){return Object.keys(Is.records.actors)},ein=function(){Is.records.sequenceNumbersEnabled=!0},tin=function(){Is.records.sequenceNumbersEnabled=!1},nin=()=>Is.records.sequenceNumbersEnabled,rin=function(i){Is.records.wrapEnabled=i},ZC=()=>Is.records.wrapEnabled!==void 0?Is.records.wrapEnabled:qt().sequence.wrap,iin=function(){Is.reset(),Rg()},sin=function(i){const a=i.trim(),u={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},ain=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=a!=null&&a[1]?a[1].trim():"transparent",d=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?bh(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},ej={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},oin={FILLED:0,OPEN:1},cin={LEFTOF:0,RIGHTOF:1,OVER:2},oKe=function(i,a,u){const d={actor:i,placement:a,message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap},p=[].concat(i,i);Is.records.notes.push(d),Is.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,type:ej.NOTE,placement:a})},cKe=function(i,a){const u=ZR(i);try{let d=bh(a.text,qt());d=d.replace(/&/g,"&"),d=d.replace(/=/g,"=");const p=JSON.parse(d);$ve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},uin=function(i,a){const u=ZR(i);try{const b={};let y=bh(a.text,qt());var d=y.indexOf("@");y=y.replace(/&/g,"&"),y=y.replace(/=/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,$ve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function $ve(i,a){if(i.links==null)i.links=a;else for(let u in a)i.links[u]=a[u]}const uKe=function(i,a){const u=ZR(i);try{let d=bh(a.text,qt());const p=JSON.parse(d);lKe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function lKe(i,a){if(i.properties==null)i.properties=a;else for(let u in a)i.properties[u]=a[u]}function lin(){Is.records.currentBox=void 0}const hKe=function(i,a){const u=ZR(i),d=document.getElementById(a.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&lKe(u,v.properties),v.links&&$ve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},hin=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},fKe=function(i){if(Array.isArray(i))i.forEach(function(a){fKe(a)});else switch(i.type){case"sequenceIndex":Is.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":jve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Is.records.actors[i.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");Is.records.lastCreated=i.actor,jve(i.actor,i.actor,i.description,i.draw),Is.records.createdActors[i.actor]=Is.records.messages.length;break;case"destroyParticipant":Is.records.lastDestroyed=i.actor,Is.records.destroyedActors[i.actor]=Is.records.messages.length;break;case"activeStart":Xf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Xf(i.actor,void 0,void 0,i.signalType);break;case"addNote":oKe(i.actor,i.placement,i.text);break;case"addLinks":cKe(i.actor,i.text);break;case"addALink":uin(i.actor,i.text);break;case"addProperties":uKe(i.actor,i.text);break;case"addDetails":hKe(i.actor,i.text);break;case"addMessage":if(Is.records.lastCreated){if(i.to!==Is.records.lastCreated)throw new Error("The created participant "+Is.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Is.records.lastCreated=void 0}else if(Is.records.lastDestroyed){if(i.to!==Is.records.lastDestroyed&&i.from!==Is.records.lastDestroyed)throw new Error("The destroyed participant "+Is.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Is.records.lastDestroyed=void 0}Xf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":Hrn(i.boxData);break;case"boxEnd":lin();break;case"loopStart":Xf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Xf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"optStart":Xf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"altStart":Xf(void 0,void 0,i.altText,i.signalType);break;case"else":Xf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":jg(i.text);break;case"parStart":Xf(void 0,void 0,i.parText,i.signalType);break;case"and":Xf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Xf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Xf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Xf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Xf(void 0,void 0,void 0,i.signalType);break}},dKe={addActor:jve,addMessage:Vrn,addSignal:Xf,addLinks:cKe,addDetails:hKe,addProperties:uKe,autoWrap:ZC,setWrap:rin,enableSequenceNumbers:ein,disableSequenceNumbers:tin,showSequenceNumbers:nin,getMessages:Wrn,getActors:Xrn,getCreatedActors:Qrn,getDestroyedActors:Jrn,getActor:ZR,getActorKeys:Zrn,getActorProperty:hin,getAccTitle:Mp,getBoxes:Yrn,getDiagramTitle:Op,setDiagramTitle:pm,getConfig:()=>qt().sequence,clear:iin,parseMessage:sin,parseBoxData:ain,LINETYPE:ej,ARROWTYPE:oin,PLACEMENT:cin,addNote:oKe,setAccTitle:jg,apply:fKe,setAccDescription:Dp,getAccDescription:Ip,hasAtLeastOneBox:Grn,hasAtLeastOneBoxWithTitle:Krn},fin=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,eS=18*2,gKe="actor-top",pKe="actor-bottom",zve=function(i,a){return qQ(i,a)},din=function(i,a,u,d,p){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,y=a.rectData;var E="none";p&&(E="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",E);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var B=20;for(let ee in v){var j=_.append("a"),W=b9.sanitizeUrl(v[ee]);j.attr("xlink:href",W),j.attr("target","_blank"),Min(d)(ee,j,y.x+10,y.height+B,P,20,{class:"actor"},d),B+=30}}return R.attr("height",B),{height:y.height+B,width:P}},gin=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},LJ=async function(i,a,u=null){let d=i.append("foreignObject");const p=await SC(a.text,mh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),a.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*a.textMargin);const E=y.getBBox();d.attr("x",Math.round(E.x+E.width/2-b.width/2)).attr("y",Math.round(E.y+E.height/2-b.height/2))}else if(u){let{startx:y,stopx:E,starty:_}=u;if(y>E){const A=y;y=E,E=A}d.attr("x",Math.round(y+Math.abs(y-E)/2-b.width/2)),a.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},rI=function(i,a){let u=0,d=0;const p=a.text.split(oi.lineBreakRegex),[v,b]=PC(a.fontSize);let y=[],E=0,_=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":_=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":_=()=>Math.round(a.y+(u+d+a.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(a.y+(u+d+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(E=A*v);const R=i.append("text");R.attr("x",a.x),R.attr("y",_()),a.anchor!==void 0&&R.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&R.style("font-family",a.fontFamily),b!==void 0&&R.style("font-size",b),a.fontWeight!==void 0&&R.style("font-weight",a.fontWeight),a.fill!==void 0&&R.attr("fill",a.fill),a.class!==void 0&&R.attr("class",a.class),a.dy!==void 0?R.attr("dy",a.dy):E!==0&&R.attr("dy",E);const B=P||Nje;if(a.tspan){const j=R.append("tspan");j.attr("x",a.x),a.fill!==void 0&&j.attr("fill",a.fill),j.text(B)}else R.text(B);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},bKe=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(a.x,a.y,a.width,a.height,7)),d.attr("class","labelBox"),a.y=a.y+a.height/2,rI(i,a),d};let o5=-1;const mKe=(i,a,u,d)=>{i.select&&u.forEach(p=>{const v=a[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},pin=async function(i,a,u,d){const p=d?a.stopy:a.starty,v=a.x+a.width/2,b=p+5,y=i.append("g").lower();var E=y;d||(o5++,Object.keys(a.links||{}).length&&!u.forceMenus&&E.attr("onclick",gin(`actor${o5}_popup`)).attr("cursor","pointer"),E.append("line").attr("id","actor"+o5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),E=y.append("g"),a.actorCnt=o5,a.links!=null&&E.attr("id","root-"+o5));const _=HC();var A="actor";a.properties!=null&&a.properties.class?A=a.properties.class:_.fill="#eaeaea",d?A+=` ${pKe}`:A+=` ${gKe}`,_.x=a.x,_.y=p,_.width=a.width,_.height=a.height,_.class=A,_.rx=3,_.ry=3,_.name=a.name;const P=zve(E,_);if(a.rectData=_,a.properties!=null&&a.properties.icon){const B=a.properties.icon.trim();B.charAt(0)==="@"?EVt(E,_.x+_.width-20,_.y+10,B.substr(1)):TVt(E,_.x+_.width-20,_.y+10,B)}await qve(u,$v(a.description))(a.description,E,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=a.height;if(P.node){const B=P.node().getBBox();a.height=B.height,R=B.height}return R},bin=async function(i,a,u,d){const p=d?a.stopy:a.starty,v=a.x+a.width/2,b=p+80;i.lower(),d||(o5++,i.append("line").attr("id","actor"+o5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=o5);const y=i.append("g");let E="actor-man";d?E+=` ${pKe}`:E+=` ${gKe}`,y.attr("class",E),y.attr("name",a.name);const _=HC();_.x=a.x,_.y=p,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+o5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+o5).attr("x1",v-eS/2).attr("y1",p+33).attr("x2",v+eS/2).attr("y2",p+33),y.append("line").attr("x1",v-eS/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+eS/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",a.x+a.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",a.width),A.attr("height",a.height);const P=y.node().getBBox();return a.height=P.height,await qve(u,$v(a.description))(a.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),a.height},min=async function(i,a,u,d){switch(a.type){case"actor":return await bin(i,a,u,d);case"participant":return await pin(i,a,u,d)}},vin=async function(i,a,u){const p=i.append("g");vKe(p,a),a.name&&await qve(u)(a.name,p,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},u),p.lower()},win=function(i){return i.append("g")},yin=function(i,a,u,d,p){const v=HC(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+p%3,v.width=a.stopx-a.startx,v.height=u-a.starty,zve(b,v)},xin=async function(i,a,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:E,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(W,ee,ie,oe){return P.append("line").attr("x1",W).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(a.startx,a.starty,a.stopx,a.starty),R(a.stopx,a.starty,a.stopx,a.stopy),R(a.startx,a.stopy,a.stopx,a.stopy),R(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(W){R(a.startx,W.y,a.stopx,W.y).style("stroke-dasharray","3, 3")});let B=sme();B.text=u,B.x=a.startx,B.y=a.starty,B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.anchor="middle",B.valign="middle",B.tspan=!1,B.width=y||50,B.height=b||20,B.textMargin=v,B.class="labelText",bKe(P,B),B=wKe(),B.text=a.title,B.x=a.startx+y/2+(a.stopx-a.startx)/2,B.y=a.starty+p+v,B.anchor="middle",B.valign="middle",B.textMargin=v,B.class="loopText",B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.wrap=!0;let j=$v(B.text)?await LJ(P,B,a):rI(P,B);if(a.sectionTitles!==void 0){for(const[W,ee]of Object.entries(a.sectionTitles))if(ee.message){B.text=ee.message,B.x=a.startx+(a.stopx-a.startx)/2,B.y=a.sections[W].y+p+v,B.class="loopText",B.anchor="middle",B.valign="middle",B.tspan=!1,B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.wrap=a.wrap,$v(B.text)?(a.starty=a.sections[W].y,await LJ(P,B,a)):rI(P,B);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,be)=>oe+be));a.sections[W].height+=ie-(p+v)}}return a.height=Math.round(a.stopy-a.starty),P},vKe=function(i,a){Zqe(i,a)},kin=function(i){i.append("defs").append("symbol").attr("id","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")},Tin=function(i){i.append("defs").append("symbol").attr("id","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")},Ein=function(i){i.append("defs").append("symbol").attr("id","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")},Cin=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.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")},Sin=function(i){i.append("defs").append("marker").attr("id","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")},_in=function(i){i.append("defs").append("marker").attr("id","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)},Ain=function(i){i.append("defs").append("marker").attr("id","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")},wKe=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}},Lin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},qve=function(){function i(v,b,y,E,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function a(v,b,y,E,_,A,P,R){const{actorFontSize:B,actorFontFamily:j,actorFontWeight:W}=R,[ee,ie]=PC(B),oe=v.split(oi.lineBreakRegex);for(let be=0;bei.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init: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,xKe(qt())},updateVal:function(i,a,u,d){i[a]===void 0?i[a]=u:i[a]=d(u,i[a])},updateBounds:function(i,a,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",a-A*Tn.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*Tn.boxMargin,Math.max),p.updateVal(ni.data,"startx",i-A*Tn.boxMargin,Math.min),p.updateVal(ni.data,"stopx",u+A*Tn.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*Tn.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*Tn.boxMargin,Math.max),p.updateVal(ni.data,"starty",a-A*Tn.boxMargin,Math.min),p.updateVal(ni.data,"stopy",d+A*Tn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,u,d){const p=oi.getMin(i,u),v=oi.getMax(i,u),b=oi.getMin(a,d),y=oi.getMax(a,d);this.updateVal(ni.data,"startx",p,Math.min),this.updateVal(ni.data,"starty",b,Math.min),this.updateVal(ni.data,"stopx",v,Math.max),this.updateVal(ni.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,a,u){const d=u[i.from.actor],p=MJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*Tn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+Tn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Qf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:ni.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=oi.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},Din=async function(i,a){ni.bumpVerticalPos(Tn.boxMargin),a.height=Tn.boxMargin,a.starty=ni.getVerticalPos();const u=HC();u.x=a.startx,u.y=a.starty,u.width=a.width||Tn.width,u.class="note";const d=i.append("g"),p=Qf.drawRect(d,u),v=sme();v.x=a.startx,v.y=a.starty,v.width=u.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=Tn.noteFontFamily,v.fontSize=Tn.noteFontSize,v.fontWeight=Tn.noteFontWeight,v.anchor=Tn.noteAlign,v.textMargin=Tn.noteMargin,v.valign="center";const b=$v(v.text)?await LJ(d,v):rI(d,v),y=Math.round(b.map(E=>(E._groups||E)[0][0].getBBox().height).reduce((E,_)=>E+_));p.attr("height",y+2*Tn.noteMargin),a.height+=y+2*Tn.noteMargin,ni.bumpVerticalPos(y+2*Tn.noteMargin),a.stopy=a.starty+y+2*Tn.noteMargin,a.stopx=a.startx+u.width,ni.insert(a.startx,a.starty,a.stopx,a.stopy),ni.models.addNote(a)},tS=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),iI=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Hve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function Iin(i,a){ni.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=a,v=oi.splitBreaks(p).length,b=$v(p),y=b?await ZF(p,qt()):So.calculateTextDimensions(p,tS(Tn));if(!b){const P=y.height/v;a.height+=P,ni.bumpVerticalPos(P)}let E,_=y.height-10;const A=y.width;if(u===d){E=ni.getVerticalPos()+_,Tn.rightAngles||(_+=Tn.boxMargin,E=ni.getVerticalPos()+_),_+=30;const P=oi.getMax(A/2,Tn.width/2);ni.insert(u-P,ni.getVerticalPos()-10+_,d+P,ni.getVerticalPos()+30+_)}else _+=Tn.boxMargin,E=ni.getVerticalPos()+_,ni.insert(u,E-10,d,E);return ni.bumpVerticalPos(_),a.height+=_,a.stopy=a.starty+a.height,ni.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),E}const Oin=async function(i,a,u,d){const{startx:p,stopx:v,starty:b,message:y,type:E,sequenceIndex:_,sequenceVisible:A}=a,P=So.calculateTextDimensions(y,tS(Tn)),R=sme();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=Tn.messageFontFamily,R.fontSize=Tn.messageFontSize,R.fontWeight=Tn.messageFontWeight,R.anchor=Tn.messageAlign,R.valign="center",R.textMargin=Tn.wrapPadding,R.tspan=!1,$v(R.text)?await LJ(i,R,{startx:p,stopx:v,starty:u}):rI(i,R);const B=P.width;let j;p===v?Tn.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+oi.getMax(Tn.width/2,B/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),E===d.db.LINETYPE.DOTTED||E===d.db.LINETYPE.DOTTED_CROSS||E===d.db.LINETYPE.DOTTED_POINT||E===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let W="";Tn.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(E===d.db.LINETYPE.SOLID||E===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+W+"#arrowhead)"),(E===d.db.LINETYPE.SOLID_POINT||E===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+W+"#filled-head)"),(E===d.db.LINETYPE.SOLID_CROSS||E===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+W+"#crosshead)"),(A||Tn.showSequenceNumbers)&&(j.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},Nin=async function(i,a,u,d,p,v,b){let y=0,E=0,_,A=0;for(const P of d){const R=a[P],B=R.box;_&&_!=B&&(b||ni.models.addBox(_),E+=Tn.boxMargin+_.margin),B&&B!=_&&(b||(B.x=y+E,B.y=p),E+=B.margin),R.width=R.width||Tn.width,R.height=oi.getMax(R.height||Tn.height,Tn.height),R.margin=R.margin||Tn.actorMargin,A=oi.getMax(A,R.height),u[R.name]&&(E+=R.width/2),R.x=y+E,R.starty=ni.getVerticalPos(),ni.insert(R.x,p,R.x+R.width,R.height),y+=R.width+E,R.box&&(R.box.width=y+B.margin-R.box.x),E=R.margin,_=R.box,ni.models.addActor(R)}_&&!b&&ni.models.addBox(_),ni.bumpVerticalPos(A)},Uve=async function(i,a,u,d){if(d){let p=0;ni.bumpVerticalPos(Tn.boxMargin*2);for(const v of u){const b=a[v];b.stopy||(b.stopy=ni.getVerticalPos());const y=await Qf.drawActor(i,b,Tn,!0);p=oi.getMax(p,y)}ni.bumpVerticalPos(p+Tn.boxMargin)}else for(const p of u){const v=a[p];await Qf.drawActor(i,v,Tn,!1)}},yKe=function(i,a,u,d){let p=0,v=0;for(const b of u){const y=a[b],E=Rin(y),_=Qf.drawPopup(i,y,E,Tn,Tn.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},xKe=function(i){id(Tn,i),i.fontFamily&&(Tn.actorFontFamily=Tn.noteFontFamily=Tn.messageFontFamily=i.fontFamily),i.fontSize&&(Tn.actorFontSize=Tn.noteFontSize=Tn.messageFontSize=i.fontSize),i.fontWeight&&(Tn.actorFontWeight=Tn.noteFontWeight=Tn.messageFontWeight=i.fontWeight)},MJ=function(i){return ni.activations.filter(function(a){return a.actor===i})},kKe=function(i,a){const u=a[i],d=MJ(i),p=d.reduce(function(b,y){return oi.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return oi.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function c5(i,a,u,d,p){ni.bumpVerticalPos(u);let v=d;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,y=tS(Tn);a.message=So.wrapLabel(`[${a.message}]`,b-2*Tn.wrapPadding,y),a.width=b,a.wrap=!0;const E=So.calculateTextDimensions(a.message,y),_=oi.getMax(E.height,Tn.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${a.message}`)}p(a),ni.bumpVerticalPos(v)}function Pin(i,a,u,d,p,v,b){function y(_,A){_.x{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await Nin(_,A,P,j,0,W,!1);const ge=await qin(W,A,be,d);Qf.insertArrowHead(_),Qf.insertArrowCrossHead(_),Qf.insertArrowFilledHead(_),Qf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ni.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Qf.drawActivation(_,ke,Ce,Tn,MJ(Se.from.actor).length),ni.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let pe=0;for(const Se of W){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ni.resetVerticalPos(),ke=Se.noteModel,await Din(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ni.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ni.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.LOOP_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"loop",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin,zt=>ni.newLoop(void 0,zt.message));break;case d.db.LINETYPE.RECT_END:Ce=ni.endLoop(),X.push(Ce),ni.models.addLoop(Ce),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos());break;case d.db.LINETYPE.OPT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.OPT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"opt",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.ALT_ELSE:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.ALT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"alt",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt)),ni.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.PAR_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"par",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.CRITICAL_OPTION:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.CRITICAL_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"critical",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.BREAK_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"break",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ni.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const zt=await Iin(_,Ke);Pin(Se,Ke,zt,pe,A,P,R),de.push({messageModel:Ke,lineStartY:zt}),ni.models.addMessage(Ke)}catch(zt){Xe.error("error while drawing message",zt)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),pe++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await Uve(_,A,j,!1);for(const Se of de)await Oin(_,Se.messageModel,Se.lineStartY,d);Tn.mirrorActors&&await Uve(_,A,j,!0),X.forEach(Se=>Qf.drawBackgroundRect(_,Se)),mKe(_,A,j,Tn);for(const Se of ni.models.boxes)Se.height=ni.getVerticalPos()-Se.y,ni.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Qf.drawBox(_,Se,Tn);ie&&ni.bumpVerticalPos(Tn.boxMargin);const G=yKe(_,A,j,E),{bounds:xe}=ni.getBounds();let U=xe.stopy-xe.starty;U{const b=tS(Tn);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*Tn.boxTextMargin,v.wrap&&(v.name=So.wrapLabel(v.name,y-2*Tn.wrapPadding,b));const E=So.calculateTextDimensions(v.name,b);p=oi.getMax(E.height,p);const _=oi.getMax(y,E.width+2*Tn.wrapPadding);if(v.margin=Tn.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),oi.getMax(d,Tn.height)}const $in=async function(i,a,u){const d=a[i.from].x,p=a[i.to].x,v=i.wrap&&i.message;let b=$v(i.message)?await ZF(i.message,qt()):So.calculateTextDimensions(v?So.wrapLabel(i.message,Tn.width,iI(Tn)):i.message,iI(Tn));const y={width:v?Tn.width:oi.getMax(Tn.width,b.width+2*Tn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?oi.getMax(Tn.width,b.width):oi.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*Tn.noteMargin),y.startx=d+(a[i.from].width+Tn.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?oi.getMax(Tn.width,b.width+2*Tn.noteMargin):oi.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*Tn.noteMargin),y.startx=d-y.width+(a[i.from].width-Tn.actorMargin)/2):i.to===i.from?(b=So.calculateTextDimensions(v?So.wrapLabel(i.message,oi.getMax(Tn.width,a[i.from].width),iI(Tn)):i.message,iI(Tn)),y.width=v?oi.getMax(Tn.width,a[i.from].width):oi.getMax(a[i.from].width,Tn.width,b.width+2*Tn.noteMargin),y.startx=d+(a[i.from].width-y.width)/2):(y.width=Math.abs(d+a[i.from].width/2-(p+a[i.to].width/2))+Tn.actorMargin,y.startx=d2,P=W=>y?-W:W;i.from===i.to?_=E:(i.activate&&!A&&(_+=P(Tn.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],B=Math.abs(E-_);i.wrap&&i.message&&(i.message=So.wrapLabel(i.message,oi.getMax(B+2*Tn.wrapPadding,Tn.width),tS(Tn)));const j=So.calculateTextDimensions(i.message,tS(Tn));return{width:oi.getMax(i.wrap?0:j.width+2*Tn.wrapPadding,B+2*Tn.wrapPadding,Tn.width),height:0,startx:E,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},qin=async function(i,a,u,d){const p={},v=[];let b,y,E;for(const _ of i){switch(_.id=So.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=a[_.from?_.from.actor:_.to.actor],R=MJ(_.from?_.from.actor:_.to.actor).length,B=P.x+P.width/2+(R-1)*Tn.activationWidth/2,j={startx:B,stopx:B+Tn.activationWidth,actor:_.from.actor,enabled:!0};ni.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ni.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ni.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await $in(_,a,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=oi.getMin(b.from,y.startx),b.to=oi.getMax(b.to,y.startx+y.width),b.width=oi.getMax(b.width,Math.abs(b.from-b.to))-Tn.labelBoxWidth})):(E=zin(_,a,d),_.msgModel=E,E.startx&&E.stopx&&v.length>0&&v.forEach(P=>{if(b=P,E.startx===E.stopx){const R=a[_.from],B=a[_.to];b.from=oi.getMin(R.x-E.width/2,R.x-R.width/2,b.from),b.to=oi.getMax(B.x+E.width/2,B.x+R.width/2,b.to),b.width=oi.getMax(b.width,Math.abs(b.to-b.from))-Tn.labelBoxWidth}else b.from=oi.getMin(E.startx,b.from),b.to=oi.getMax(E.stopx,b.to),b.width=oi.getMax(b.width,E.width)-Tn.labelBoxWidth}))}return ni.activations=[],Xe.debug("Loop type widths:",p),p},Hin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zrn,db:dKe,renderer:{bounds:ni,drawActors:Uve,drawActorsPopup:yKe,setConf:xKe,draw:Bin},styles:fin,init:({wrap:i})=>{dKe.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Vve=function(){var i=function(mo,Tr,On,Rn){for(On=On||{},Rn=mo.length;Rn--;On[mo[Rn]]=Tr);return On},a=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],E=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],B=[1,35],j=[1,36],W=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],be=[1,43],ge=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],pe=[1,8,9],G=[1,56],xe=[1,57],U=[1,58],Be=[1,59],Pe=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],zt=[13,74,80,95,97,98],Ne=[13,64,65,74,80,95,97,98],pn=[13,59,60,61,62,63,74,80,95,97,98],Tt=[1,93],Et=[1,110],Wt=[1,108],un=[1,102],yt=[1,103],Bt=[1,104],Ze=[1,105],Dt=[1,106],kt=[1,107],Nn=[1,109],ht=[1,8,9,37,39,42],qr=[1,8,9,21],xt=[1,8,9,78],Ri=[1,8,9,21,73,74,78,80,81,82,83,84,85],wi={trace:function(){},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,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(Tr,On,Rn,zn,Ct,gt,on){var dn=gt.length-1;switch(Ct){case 8:this.$=gt[dn-1];break;case 9:case 11:case 12:this.$=gt[dn];break;case 10:case 13:this.$=gt[dn-1]+gt[dn];break;case 14:case 15:this.$=gt[dn-1]+"~"+gt[dn]+"~";break;case 16:zn.addRelation(gt[dn]);break;case 17:gt[dn-1].title=zn.cleanupLabel(gt[dn]),zn.addRelation(gt[dn-1]);break;case 27:this.$=gt[dn].trim(),zn.setAccTitle(this.$);break;case 28:case 29:this.$=gt[dn].trim(),zn.setAccDescription(this.$);break;case 30:zn.addClassesToNamespace(gt[dn-3],gt[dn-1]);break;case 31:zn.addClassesToNamespace(gt[dn-4],gt[dn-1]);break;case 32:this.$=gt[dn],zn.addNamespace(gt[dn]);break;case 33:this.$=[gt[dn]];break;case 34:this.$=[gt[dn-1]];break;case 35:gt[dn].unshift(gt[dn-2]),this.$=gt[dn];break;case 37:zn.setCssClass(gt[dn-2],gt[dn]);break;case 38:zn.addMembers(gt[dn-3],gt[dn-1]);break;case 39:zn.setCssClass(gt[dn-5],gt[dn-3]),zn.addMembers(gt[dn-5],gt[dn-1]);break;case 40:this.$=gt[dn],zn.addClass(gt[dn]);break;case 41:this.$=gt[dn-1],zn.addClass(gt[dn-1]),zn.setClassLabel(gt[dn-1],gt[dn]);break;case 42:zn.addAnnotation(gt[dn],gt[dn-2]);break;case 43:this.$=[gt[dn]];break;case 44:gt[dn].push(gt[dn-1]),this.$=gt[dn];break;case 45:break;case 46:zn.addMember(gt[dn-1],zn.cleanupLabel(gt[dn]));break;case 47:break;case 48:break;case 49:this.$={id1:gt[dn-2],id2:gt[dn],relation:gt[dn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:gt[dn-3],id2:gt[dn],relation:gt[dn-1],relationTitle1:gt[dn-2],relationTitle2:"none"};break;case 51:this.$={id1:gt[dn-3],id2:gt[dn],relation:gt[dn-2],relationTitle1:"none",relationTitle2:gt[dn-1]};break;case 52:this.$={id1:gt[dn-4],id2:gt[dn],relation:gt[dn-2],relationTitle1:gt[dn-3],relationTitle2:gt[dn-1]};break;case 53:zn.addNote(gt[dn],gt[dn-1]);break;case 54:zn.addNote(gt[dn]);break;case 55:zn.setDirection("TB");break;case 56:zn.setDirection("BT");break;case 57:zn.setDirection("RL");break;case 58:zn.setDirection("LR");break;case 59:this.$={type1:gt[dn-2],type2:gt[dn],lineType:gt[dn-1]};break;case 60:this.$={type1:"none",type2:gt[dn],lineType:gt[dn-1]};break;case 61:this.$={type1:gt[dn-1],type2:"none",lineType:gt[dn]};break;case 62:this.$={type1:"none",type2:"none",lineType:gt[dn]};break;case 63:this.$=zn.relationType.AGGREGATION;break;case 64:this.$=zn.relationType.EXTENSION;break;case 65:this.$=zn.relationType.COMPOSITION;break;case 66:this.$=zn.relationType.DEPENDENCY;break;case 67:this.$=zn.relationType.LOLLIPOP;break;case 68:this.$=zn.lineType.LINE;break;case 69:this.$=zn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=gt[dn-2],zn.setClickEvent(gt[dn-1],gt[dn]);break;case 71:case 77:this.$=gt[dn-3],zn.setClickEvent(gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-2],gt[dn]);break;case 72:this.$=gt[dn-2],zn.setLink(gt[dn-1],gt[dn]);break;case 73:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn-1],gt[dn]);break;case 74:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-2],gt[dn]);break;case 75:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-2],gt[dn]),zn.setTooltip(gt[dn-3],gt[dn-1]);break;case 78:this.$=gt[dn-3],zn.setClickEvent(gt[dn-2],gt[dn-1],gt[dn]);break;case 79:this.$=gt[dn-4],zn.setClickEvent(gt[dn-3],gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-3],gt[dn]);break;case 80:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn]);break;case 81:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-1],gt[dn]);break;case 82:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-1]),zn.setTooltip(gt[dn-3],gt[dn]);break;case 83:this.$=gt[dn-5],zn.setLink(gt[dn-4],gt[dn-2],gt[dn]),zn.setTooltip(gt[dn-4],gt[dn-1]);break;case 84:this.$=gt[dn-2],zn.setCssStyle(gt[dn-1],gt[dn]);break;case 85:zn.setCssClass(gt[dn-1],gt[dn]);break;case 86:this.$=[gt[dn]];break;case 87:gt[dn-2].push(gt[dn]),this.$=gt[dn-2];break;case 89:this.$=gt[dn-1]+gt[dn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(pe,[2,16],{21:[1,48]}),i(pe,[2,18]),i(pe,[2,19]),i(pe,[2,20]),i(pe,[2,21]),i(pe,[2,22]),i(pe,[2,23]),i(pe,[2,24]),i(pe,[2,25]),i(pe,[2,26]),{32:[1,49]},{34:[1,50]},i(pe,[2,29]),i(pe,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:G,60:xe,61:U,62:Be,63:Pe,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(pe,[2,47]),i(pe,[2,48]),{16:66,74:be,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:be,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(pe,[2,55]),i(pe,[2,56]),i(pe,[2,57]),i(pe,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:be,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:be,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:a,33:u,35:d,40:p,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},i(pe,[2,17]),i(pe,[2,27]),i(pe,[2,28]),{13:[1,84],16:37,17:83,18:38,74:be,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:G,60:xe,61:U,62:Be,63:Pe,64:je,65:Ie},i(pe,[2,46]),{58:86,64:je,65:Ie},i(zt,[2,62],{57:87,59:G,60:xe,61:U,62:Be,63:Pe}),i(Ne,[2,63]),i(Ne,[2,64]),i(Ne,[2,65]),i(Ne,[2,66]),i(Ne,[2,67]),i(pn,[2,68]),i(pn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:be,80:ae,95:ne,97:se},{43:92,47:Tt},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Wt,74:un,75:99,77:100,79:101,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn},{74:[1,111]},{13:Ce,51:112},i(pe,[2,54]),i(pe,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:be,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(qr,[2,49]),{16:37,17:117,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:be,80:ae,95:ne,97:se,98:de},i(zt,[2,61],{57:120,59:G,60:xe,61:U,62:Be,63:Pe}),i(zt,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Tt},{16:37,17:127,18:38,74:be,80:ae,95:ne,97:se,98:de},i(pe,[2,70],{13:[1,128]}),i(pe,[2,72],{13:[1,130],68:[1,129]}),i(pe,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(pe,[2,84],{78:[1,134]}),i(xt,[2,86],{79:135,21:Et,73:Wt,74:un,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn}),i(Ri,[2,88]),i(Ri,[2,90]),i(Ri,[2,91]),i(Ri,[2,92]),i(Ri,[2,93]),i(Ri,[2,94]),i(Ri,[2,95]),i(Ri,[2,96]),i(Ri,[2,97]),i(Ri,[2,98]),i(pe,[2,85]),i(pe,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(qr,[2,51]),i(qr,[2,50]),{16:37,17:137,18:38,74:be,80:ae,95:ne,97:se,98:de},i(zt,[2,59]),i(pe,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Tt},i(Se,[2,38]),{39:[2,44]},i(pe,[2,42]),i(pe,[2,71]),i(pe,[2,73]),i(pe,[2,74],{68:[1,141]}),i(pe,[2,77]),i(pe,[2,78],{13:[1,142]}),i(pe,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Wt,74:un,77:145,79:101,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn},i(Ri,[2,89]),{14:[1,146]},i(qr,[2,52]),i(pe,[2,31]),{39:[2,35]},{39:[1,147]},i(pe,[2,75]),i(pe,[2,79]),i(pe,[2,81]),i(pe,[2,82],{68:[1,148]}),i(xt,[2,87],{79:135,21:Et,73:Wt,74:un,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn}),i(ht,[2,8]),i(Se,[2,39]),i(pe,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(Tr,On){if(On.recoverable)this.trace(Tr);else{var Rn=new Error(Tr);throw Rn.hash=On,Rn}},parse:function(Tr){var On=this,Rn=[0],zn=[],Ct=[null],gt=[],on=this.table,dn="",Ln=0,Io=0,Oo=2,No=1,Us=gt.slice.call(arguments,1),uo=Object.create(this.lexer),Es={yy:{}};for(var Ou in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ou)&&(Es.yy[Ou]=this.yy[Ou]);uo.setInput(Tr,Es.yy),Es.yy.lexer=uo,Es.yy.parser=this,typeof uo.yylloc>"u"&&(uo.yylloc={});var _c=uo.yylloc;gt.push(_c);var Kd=uo.options&&uo.options.ranges;typeof Es.yy.parseError=="function"?this.parseError=Es.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qp(){var ma;return ma=zn.pop()||uo.lex()||No,typeof ma!="number"&&(ma instanceof Array&&(zn=ma,ma=zn.pop()),ma=On.symbols_[ma]||ma),ma}for(var Ul,Ac,Jc,Ya,Ba={},ha,$o,Lc,Fa;;){if(Ac=Rn[Rn.length-1],this.defaultActions[Ac]?Jc=this.defaultActions[Ac]:((Ul===null||typeof Ul>"u")&&(Ul=qp()),Jc=on[Ac]&&on[Ac][Ul]),typeof Jc>"u"||!Jc.length||!Jc[0]){var Ra="";Fa=[];for(ha in on[Ac])this.terminals_[ha]&&ha>Oo&&Fa.push("'"+this.terminals_[ha]+"'");uo.showPosition?Ra="Parse error on line "+(Ln+1)+`: +`+uo.showPosition()+` +Expecting `+Fa.join(", ")+", got '"+(this.terminals_[Ul]||Ul)+"'":Ra="Parse error on line "+(Ln+1)+": Unexpected "+(Ul==No?"end of input":"'"+(this.terminals_[Ul]||Ul)+"'"),this.parseError(Ra,{text:uo.match,token:this.terminals_[Ul]||Ul,line:uo.yylineno,loc:_c,expected:Fa})}if(Jc[0]instanceof Array&&Jc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ac+", token: "+Ul);switch(Jc[0]){case 1:Rn.push(Ul),Ct.push(uo.yytext),gt.push(uo.yylloc),Rn.push(Jc[1]),Ul=null,Io=uo.yyleng,dn=uo.yytext,Ln=uo.yylineno,_c=uo.yylloc;break;case 2:if($o=this.productions_[Jc[1]][1],Ba.$=Ct[Ct.length-$o],Ba._$={first_line:gt[gt.length-($o||1)].first_line,last_line:gt[gt.length-1].last_line,first_column:gt[gt.length-($o||1)].first_column,last_column:gt[gt.length-1].last_column},Kd&&(Ba._$.range=[gt[gt.length-($o||1)].range[0],gt[gt.length-1].range[1]]),Ya=this.performAction.apply(Ba,[dn,Io,Ln,Es.yy,Jc[1],Ct,gt].concat(Us)),typeof Ya<"u")return Ya;$o&&(Rn=Rn.slice(0,-1*$o*2),Ct=Ct.slice(0,-1*$o),gt=gt.slice(0,-1*$o)),Rn.push(this.productions_[Jc[1]][0]),Ct.push(Ba.$),gt.push(Ba._$),Lc=on[Rn[Rn.length-2]][Rn[Rn.length-1]],Rn.push(Lc);break;case 3:return!0}}return!0}},ia=function(){var mo={EOF:1,parseError:function(On,Rn){if(this.yy.parser)this.yy.parser.parseError(On,Rn);else throw new Error(On)},setInput:function(Tr,On){return this.yy=On||this.yy||{},this._input=Tr,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},input:function(){var Tr=this._input[0];this.yytext+=Tr,this.yyleng++,this.offset++,this.match+=Tr,this.matched+=Tr;var On=Tr.match(/(?:\r\n?|\n).*/g);return On?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tr},unput:function(Tr){var On=Tr.length,Rn=Tr.split(/(?:\r\n?|\n)/g);this._input=Tr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-On),this.offset-=On;var zn=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),Rn.length-1&&(this.yylineno-=Rn.length-1);var Ct=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:Rn?(Rn.length===zn.length?this.yylloc.first_column:0)+zn[zn.length-Rn.length].length-Rn[0].length:this.yylloc.first_column-On},this.options.ranges&&(this.yylloc.range=[Ct[0],Ct[0]+this.yyleng-On]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Tr){this.unput(this.match.slice(Tr))},pastInput:function(){var Tr=this.matched.substr(0,this.matched.length-this.match.length);return(Tr.length>20?"...":"")+Tr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tr=this.match;return Tr.length<20&&(Tr+=this._input.substr(0,20-Tr.length)),(Tr.substr(0,20)+(Tr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tr=this.pastInput(),On=new Array(Tr.length+1).join("-");return Tr+this.upcomingInput()+` +`+On+"^"},test_match:function(Tr,On){var Rn,zn,Ct;if(this.options.backtrack_lexer&&(Ct={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&&(Ct.yylloc.range=this.yylloc.range.slice(0))),zn=Tr[0].match(/(?:\r\n?|\n).*/g),zn&&(this.yylineno+=zn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:zn?zn[zn.length-1].length-zn[zn.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tr[0].length},this.yytext+=Tr[0],this.match+=Tr[0],this.matches=Tr,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(Tr[0].length),this.matched+=Tr[0],Rn=this.performAction.call(this,this.yy,this,On,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Rn)return Rn;if(this._backtrack){for(var gt in Ct)this[gt]=Ct[gt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tr,On,Rn,zn;this._more||(this.yytext="",this.match="");for(var Ct=this._currentRules(),gt=0;gtOn[0].length)){if(On=Rn,zn=gt,this.options.backtrack_lexer){if(Tr=this.test_match(Rn,Ct[gt]),Tr!==!1)return Tr;if(this._backtrack){On=!1;continue}else return!1}else if(!this.options.flex)break}return On?(Tr=this.test_match(On,Ct[zn]),Tr!==!1?Tr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var On=this.next();return On||this.lex()},begin:function(On){this.conditionStack.push(On)},popState:function(){var On=this.conditionStack.length-1;return On>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(On){return On=this.conditionStack.length-1-Math.abs(On||0),On>=0?this.conditionStack[On]:"INITIAL"},pushState:function(On){this.begin(On)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(On,Rn,zn,Ct){switch(zn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;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 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},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)/,/^(?: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,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,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,94,95,96],inclusive:!0}}};return mo}();wi.lexer=ia;function Hs(){this.yy={}}return Hs.prototype=wi,wi.Parser=Hs,new Hs}();Vve.parser=Vve;const TKe=Vve,EKe=["#","+","~","-",""];class CKe{constructor(a,u){this.memberType=u,this.visibility="",this.classifier="";const d=bh(a,qt());this.parseMember(d)}getDisplayDetails(){let a=this.visibility+JF(this.id);this.memberType==="method"&&(a+=`(${JF(this.parameters.trim())})`,this.returnType&&(a+=" : "+JF(this.returnType))),a=a.trim();const u=this.parseClassifier();return{displayText:a,cssStyle:u}}parseMember(a){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=a.match(d);if(p){const v=p[1]?p[1].trim():"";if(EKe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=a.length,p=a.substring(0,1),v=a.substring(d-1);EKe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=a.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const DJ="classId-";let Gve=[],xh={},IJ=[],SKe=0,$9={},Kve=0,tj=[];const nS=i=>oi.sanitizeText(i,qt()),rS=function(i){const a=oi.sanitizeText(i,qt());let u="",d=a;if(a.indexOf("~")>0){const p=a.split("~");d=nS(p[0]),u=nS(p[1])}return{className:d,type:u}},Uin=function(i,a){const u=oi.sanitizeText(i,qt());a&&(a=nS(a));const{className:d}=rS(u);xh[d].label=a},OJ=function(i){const a=oi.sanitizeText(i,qt()),{className:u,type:d}=rS(a);if(Object.hasOwn(xh,u))return;const p=oi.sanitizeText(u,qt());xh[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:DJ+p+"-"+SKe},SKe++},_Ke=function(i){const a=oi.sanitizeText(i,qt());if(a in xh)return xh[a].domId;throw new Error("Class not found: "+a)},Vin=function(){Gve=[],xh={},IJ=[],tj=[],tj.push(LKe),$9={},Kve=0,Rg()},Gin=function(i){return xh[i]},Kin=function(){return xh},Win=function(){return Gve},Yin=function(){return IJ},Xin=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),OJ(i.id1),OJ(i.id2),i.id1=rS(i.id1).className,i.id2=rS(i.id2).className,i.relationTitle1=oi.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=oi.sanitizeText(i.relationTitle2.trim(),qt()),Gve.push(i)},Qin=function(i,a){const u=rS(i).className;xh[u].annotations.push(a)},AKe=function(i,a){OJ(i);const u=rS(i).className,d=xh[u];if(typeof a=="string"){const p=a.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(nS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new CKe(p,"method")):p&&d.members.push(new CKe(p,"attribute"))}},Jin=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(u=>AKe(i,u)))},Zin=function(i,a){const u={id:`note${IJ.length}`,class:a,text:i};IJ.push(u)},esn=function(i){return i.startsWith(":")&&(i=i.substring(1)),nS(i.trim())},Wve=function(i,a){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=DJ+d),xh[d]!==void 0&&xh[d].cssClasses.push(a)})},tsn=function(i,a){i.split(",").forEach(function(u){a!==void 0&&(xh[u].tooltip=nS(a))})},nsn=function(i,a){return a?$9[a].classes[i].tooltip:xh[i].tooltip},rsn=function(i,a,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=DJ+v),xh[v]!==void 0&&(xh[v].link=So.formatUrl(a,d),d.securityLevel==="sandbox"?xh[v].linkTarget="_top":typeof u=="string"?xh[v].linkTarget=nS(u):xh[v].linkTarget="_blank")}),Wve(i,"clickable")},isn=function(i,a,u){i.split(",").forEach(function(d){ssn(d,a,u),xh[d].haveCallback=!0}),Wve(i,"clickable")},ssn=function(i,a,u){const d=oi.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||a===void 0)return;const v=d;if(xh[v]!==void 0){const b=_Ke(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let E=0;E")),p.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Dr(this).classed("hover",!1)})};tj.push(LKe);let MKe="TB";const NJ={setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,getConfig:()=>qt().class,addClass:OJ,bindFunctions:asn,clear:Vin,getClass:Gin,getClasses:Kin,getNotes:Yin,addAnnotation:Qin,addNote:Zin,getRelations:Win,addRelation:Xin,getDirection:()=>MKe,setDirection:i=>{MKe=i},addMember:AKe,addMembers:Jin,cleanupLabel:esn,lineType:osn,relationType:csn,setClickEvent:isn,setCssClass:Wve,setLink:rsn,getTooltip:nsn,setTooltip:tsn,lookUpDomId:_Ke,setDiagramTitle:pm,getDiagramTitle:Op,setClassLabel:Uin,addNamespace:function(i){$9[i]===void 0&&($9[i]={id:i,classes:{},children:{},domId:DJ+i+"-"+Kve},Kve++)},addClassesToNamespace:function(i,a){if($9[i]!==void 0)for(const u of a){const{className:d}=rS(u);xh[d].parent=i,$9[i].classes[d]=xh[d]}},getNamespace:function(i){return $9[i]},getNamespaces:function(){return $9},setCssStyle:function(i,a){const u=xh[i];if(!(!a||!u))for(const d of a)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},DKe=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let IKe=0;const usn=function(i,a,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(oe=>!Number.isNaN(oe.y));const b=a.points,y=E7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(VF),E=i.append("path").attr("d",y(b)).attr("id","edge"+IKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&E.attr("class","relation dashed-line"),u.relation.lineType==10&&E.attr("class","relation dotted-line"),u.relation.type1!=="none"&&E.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&E.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=a.points.length;let B=So.calcLabelPosition(a.points);A=B.x,P=B.y;let j,W,ee,ie;if(R%2!==0&&R>1){let oe=So.calcCardinalityPosition(u.relation.type1!=="none",a.points,a.points[0]),be=So.calcCardinalityPosition(u.relation.type2!=="none",a.points,a.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(be)),j=oe.x,W=oe.y,ee=be.x,ie=be.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),be=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=be;const ge=be.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",ge.x-d.padding/2).attr("y",ge.y-d.padding/2).attr("width",ge.width+d.padding).attr("height",ge.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",W).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),IKe++},lsn=function(i,a,u,d){Xe.debug("Rendering class ",a,u);const p=a.id,v={id:p,label:a.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;a.link?y=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let E=!0;a.annotations.forEach(function(be){const ge=y.append("tspan").text("«"+be+"»");E||ge.attr("dy",u.textHeight),E=!1});let _=OKe(a);const A=y.append("tspan").text(_).attr("class","title");E||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,B,j;if(a.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const be=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");E=!0,a.members.forEach(function(ge){NKe(be,ge,E,u),E=!1}),B=be.node().getBBox()}if(a.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+B.height).attr("y2",u.padding+P+u.dividerMargin+B.height);const be=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+B.height+u.textHeight).attr("fill","white").attr("class","classText");E=!0,a.methods.forEach(function(ge){NKe(be,ge,E,u),E=!1})}const W=b.node().getBBox();var ee=" ";a.cssClasses.length>0&&(ee=ee+a.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*u.padding).attr("height",W.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(be){be.setAttribute("x",(oe-be.getBBox().width)/2)}),a.tooltip&&y.insert("title").text(a.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=W.height+u.padding+.5*u.dividerMargin,v},OKe=function(i){let a=i.id;return i.type&&(a+="<"+JF(i.type)+">"),a},hsn=function(i,a,u,d){Xe.debug("Rendering note ",a,u);const p=a.id,v={id:p,text:a.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const E=JSON.parse(`"${a.text}"`).split(` +`);E.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+E.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+E.length*u.textHeight+u.padding+.5*u.dividerMargin,v},NKe=function(i,a,u,d){const{displayText:p,cssStyle:v}=a.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",a.cssStyle),u||b.attr("dy",d.textHeight)},Yve={getClassTitleString:OKe,drawClass:lsn,drawEdge:usn,drawNote:hsn};let PJ={};const BJ=20,nj=function(i){const a=Object.entries(PJ).find(u=>u[1].label===i);if(a)return a[0]},fsn=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).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"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).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"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).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"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).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"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).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"),i.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 18,7 L9,13 L14,7 L9,1 Z")},dsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:TKe,db:NJ,renderer:{draw:function(i,a,u,d){const p=qt().class;PJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=y.select(`[id='${a}']`);fsn(E);const _=new R0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const be=A[oe],ge=Yve.drawClass(E,be,p,d);PJ[ge.id]=ge,_.setNode(ge.id,ge),Xe.info("Org height: "+ge.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+nj(oe.id1)+nj(oe.id2)+JSON.stringify(oe)),_.setEdge(nj(oe.id1),nj(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const be=Yve.drawNote(E,oe,p,d);PJ[be.id]=be,_.setNode(be.id,be),oe.class&&oe.class in A&&_.setEdge(oe.id,nj(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),XD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Yve.drawEdge(E,_.edge(oe),_.edge(oe).relation,p,d))});const j=E.node().getBBox(),W=j.width+BJ*2,ee=j.height+BJ*2;Fg(E,ee,W,p.useMaxWidth);const ie=`${j.x-BJ} ${j.y-BJ} ${W} ${ee}`;Xe.debug(`viewBox ${ie}`),E.attr("viewBox",ie)}},styles:DKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,NJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Xve=i=>oi.sanitizeText(i,qt());let Qve={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const gsn=function(i,a,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],E={shape:"rect",id:b.id,domId:b.domId,labelText:Xve(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};a.setNode(b.id,E),PKe(b.classes,a,u,d,b.id),Xe.info("setNode",E)})},PKe=function(i,a,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,W;const y=i[b],E=y.cssClasses.join(" "),_=gm(y.styles),A=y.label??y.id,P=0,R="class_box",B={labelStyle:_.labelStyle,shape:R,labelText:Xve(A),classData:y,rx:P,ry:P,class:E,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((W=qt().class)==null?void 0:W.padding)};a.setNode(y.id,B),p&&a.setParent(y.id,p),Xe.info("setNode",B)})},psn=function(i,a,u,d){Xe.info(i),i.forEach(function(p,v){var W,ee;const b=p,y="",E={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:E.labelStyle,shape:P,labelText:Xve(_),noteData:b,rx:A,ry:A,class:y,style:E.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=qt().flowchart)==null?void 0:W.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(a.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const B=u+v,j={id:`edgeNote${B}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:qv(Qve.curve,Sp)};a.setEdge(b.id,b.class,j,B)})},bsn=function(i,a){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:BKe(p.relation.type1),arrowTypeEnd:BKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:qv(u==null?void 0:u.curve,Sp)};if(Xe.info(v,p),p.style!==void 0){const y=gm(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label=''+p.text+""):(v.labelType="text",v.label=p.text.replace(oi.lineBreakRegex,` +`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),a.setEdge(p.id1,p.id2,v,d)})},msn=function(i){Qve={...Qve,...i}},vsn=async function(i,a,u,d){Xe.info("Drawing class - ",a);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,E=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),gsn(_,E,a,d),PKe(A,E,a,d),bsn(P,E),psn(R,E,P.length+1,A);let B;v==="sandbox"&&(B=Dr("#i"+a));const j=Dr(v==="sandbox"?B.nodes()[0].contentDocument.body:"body"),W=j.select(`[id="${a}"]`),ee=j.select("#"+a+" g");if(await ave(ee,E,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),So.insertTitle(W,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),x9(E,W,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?B.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const be of oe){const ge=be.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",ge.width),ae.setAttribute("height",ge.height),be.insertBefore(ae,be.firstChild)}}};function BKe(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const wsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:TKe,db:NJ,renderer:{setConf:msn,draw:vsn},styles:DKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,NJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Jve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},a=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],E=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],B=[1,20],j=[1,21],W=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],be=[1,27],ge=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],pe=[1,31],G=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Be={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",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",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"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,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],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Se,Ce,ke,Ke,zt,Ne,pn){var Tt=Ne.length-1;switch(zt){case 3:return Ke.setRootDoc(Ne[Tt]),Ne[Tt];case 4:this.$=[];break;case 5:Ne[Tt]!="nl"&&(Ne[Tt-1].push(Ne[Tt]),this.$=Ne[Tt-1]);break;case 6:case 7:this.$=Ne[Tt];break;case 8:this.$="nl";break;case 11:this.$=Ne[Tt];break;case 12:const yt=Ne[Tt-1];yt.description=Ke.trimColon(Ne[Tt]),this.$=yt;break;case 13:this.$={stmt:"relation",state1:Ne[Tt-2],state2:Ne[Tt]};break;case 14:const Bt=Ke.trimColon(Ne[Tt]);this.$={stmt:"relation",state1:Ne[Tt-3],state2:Ne[Tt-1],description:Bt};break;case 18:this.$={stmt:"state",id:Ne[Tt-3],type:"default",description:"",doc:Ne[Tt-1]};break;case 19:var Et=Ne[Tt],Wt=Ne[Tt-2].trim();if(Ne[Tt].match(":")){var un=Ne[Tt].split(":");Et=un[0],Wt=[Wt,un[1]]}this.$={stmt:"state",id:Et,type:"default",description:Wt};break;case 20:this.$={stmt:"state",id:Ne[Tt-3],type:"default",description:Ne[Tt-5],doc:Ne[Tt-1]};break;case 21:this.$={stmt:"state",id:Ne[Tt],type:"fork"};break;case 22:this.$={stmt:"state",id:Ne[Tt],type:"join"};break;case 23:this.$={stmt:"state",id:Ne[Tt],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ne[Tt-1].trim(),note:{position:Ne[Tt-2].trim(),text:Ne[Tt].trim()}};break;case 28:this.$=Ne[Tt].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Ne[Tt].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ne[Tt-1].trim(),classes:Ne[Tt].trim()};break;case 33:this.$={stmt:"applyClass",id:Ne[Tt-1].trim(),styleClass:Ne[Tt].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ne[Tt].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ne[Tt-2].trim(),classes:[Ne[Tt].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ne[Tt-2].trim(),classes:[Ne[Tt].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:u,6:d},{1:[3]},{3:5,4:a,5:u,6:d},{3:6,4:a,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:E,18:_,21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,7]),i(G,[2,8]),i(G,[2,9]),i(G,[2,10]),i(G,[2,11],{13:[1,37],14:[1,38]}),i(G,[2,15]),{17:[1,39]},i(G,[2,17],{19:[1,40]}),{22:[1,41]},i(G,[2,21]),i(G,[2,22]),i(G,[2,23]),i(G,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(G,[2,27]),{33:[1,46]},{35:[1,47]},i(G,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(G,[2,34]),i(G,[2,35]),i(G,[2,36]),i(G,[2,37]),i(G,[2,6]),i(G,[2,12]),{12:53,23:P,50:pe},i(G,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(G,[2,28]),i(G,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(G,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,20:[1,64],21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(G,[2,31]),i(G,[2,32]),i(G,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(G,[2,14]),i(G,[2,18]),i(U,p,{7:68}),i(G,[2,25]),i(G,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,20:[1,69],21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],zt=[null],Ne=[],pn=this.table,Tt="",Et=0,Wt=0,un=2,yt=1,Bt=Ne.slice.call(arguments,1),Ze=Object.create(this.lexer),Dt={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Dt.yy[kt]=this.yy[kt]);Ze.setInput(Se,Dt.yy),Dt.yy.lexer=Ze,Dt.yy.parser=this,typeof Ze.yylloc>"u"&&(Ze.yylloc={});var Nn=Ze.yylloc;Ne.push(Nn);var ht=Ze.options&&Ze.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qr(){var Ct;return Ct=Ke.pop()||Ze.lex()||yt,typeof Ct!="number"&&(Ct instanceof Array&&(Ke=Ct,Ct=Ke.pop()),Ct=Ce.symbols_[Ct]||Ct),Ct}for(var xt,Ri,wi,ia,Hs={},mo,Tr,On,Rn;;){if(Ri=ke[ke.length-1],this.defaultActions[Ri]?wi=this.defaultActions[Ri]:((xt===null||typeof xt>"u")&&(xt=qr()),wi=pn[Ri]&&pn[Ri][xt]),typeof wi>"u"||!wi.length||!wi[0]){var zn="";Rn=[];for(mo in pn[Ri])this.terminals_[mo]&&mo>un&&Rn.push("'"+this.terminals_[mo]+"'");Ze.showPosition?zn="Parse error on line "+(Et+1)+`: +`+Ze.showPosition()+` +Expecting `+Rn.join(", ")+", got '"+(this.terminals_[xt]||xt)+"'":zn="Parse error on line "+(Et+1)+": Unexpected "+(xt==yt?"end of input":"'"+(this.terminals_[xt]||xt)+"'"),this.parseError(zn,{text:Ze.match,token:this.terminals_[xt]||xt,line:Ze.yylineno,loc:Nn,expected:Rn})}if(wi[0]instanceof Array&&wi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ri+", token: "+xt);switch(wi[0]){case 1:ke.push(xt),zt.push(Ze.yytext),Ne.push(Ze.yylloc),ke.push(wi[1]),xt=null,Wt=Ze.yyleng,Tt=Ze.yytext,Et=Ze.yylineno,Nn=Ze.yylloc;break;case 2:if(Tr=this.productions_[wi[1]][1],Hs.$=zt[zt.length-Tr],Hs._$={first_line:Ne[Ne.length-(Tr||1)].first_line,last_line:Ne[Ne.length-1].last_line,first_column:Ne[Ne.length-(Tr||1)].first_column,last_column:Ne[Ne.length-1].last_column},ht&&(Hs._$.range=[Ne[Ne.length-(Tr||1)].range[0],Ne[Ne.length-1].range[1]]),ia=this.performAction.apply(Hs,[Tt,Wt,Et,Dt.yy,wi[1],zt,Ne].concat(Bt)),typeof ia<"u")return ia;Tr&&(ke=ke.slice(0,-1*Tr*2),zt=zt.slice(0,-1*Tr),Ne=Ne.slice(0,-1*Tr)),ke.push(this.productions_[wi[1]][0]),zt.push(Hs.$),Ne.push(Hs._$),On=pn[ke[ke.length-2]][ke[ke.length-1]],ke.push(On);break;case 3:return!0}}return!0}},Pe=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,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},input:function(){var Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=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),ke.length-1&&(this.yylineno-=ke.length-1);var zt=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:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[zt[0],zt[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+` +`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,zt;if(this.options.backtrack_lexer&&(zt={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&&(zt.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,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(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Ne in zt)this[Ne]=zt[Ne];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var zt=this._currentRules(),Ne=0;NeCe[0].length)){if(Ce=ke,Ke=Ne,this.options.backtrack_lexer){if(Se=this.test_match(ke,zt[Ne]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,zt[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,zt){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?: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,/^(?: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;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ie}();Be.lexer=Pe;function je(){this.yy={}}return je.prototype=Be,Be.Parser=je,new je}();Jve.parser=Jve;const FKe=Jve,ysn="LR",xsn="TB",FJ="state",Zve="relation",ksn="classDef",Tsn="applyClass",rj="default",RKe="divider",ewe="[*]",jKe="start",$Ke=ewe,zKe="end",qKe="color",HKe="fill",Esn="bgFill",Csn=",";function UKe(){return{}}let VKe=ysn,RJ=[],ij=UKe();const GKe=()=>({relations:[],states:{},documents:{}});let jJ={root:GKe()},Hg=jJ.root,sj=0,KKe=0;const Ssn={LINE:0,DOTTED_LINE:1},_sn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},$J=i=>JSON.parse(JSON.stringify(i)),Asn=i=>{Xe.info("Setting root doc",i),RJ=i},Lsn=()=>RJ,zJ=(i,a,u)=>{if(a.stmt===Zve)zJ(i,a.state1,!0),zJ(i,a.state2,!1);else if(a.stmt===FJ&&(a.id==="[*]"?(a.id=u?i.id+"_start":i.id+"_end",a.start=u):a.id=a.id.trim()),a.doc){const d=[];let p=[],v;for(v=0;v0&&p.length>0){const b={stmt:FJ,id:jje(),type:"divider",doc:$J(p)};d.push($J(b)),a.doc=d}a.doc.forEach(b=>zJ(a,b,!0))}},Msn=()=>(zJ({id:"root"},{id:"root",doc:RJ},!0),{id:"root",doc:RJ}),Dsn=i=>{let a;i.doc?a=i.doc:a=i,Xe.info(a),WKe(!0),Xe.info("Extract",a),a.forEach(u=>{switch(u.stmt){case FJ:iS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Zve:YKe(u.state1,u.state2,u.description);break;case ksn:XKe(u.id.trim(),u.classes);break;case Tsn:iwe(u.id.trim(),u.styleClass);break}})},iS=function(i,a=rj,u=null,d=null,p=null,v=null,b=null,y=null){const E=i==null?void 0:i.trim();Hg.states[E]===void 0?(Xe.info("Adding state ",E,d),Hg.states[E]={id:E,descriptions:[],type:a,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(Hg.states[E].doc||(Hg.states[E].doc=u),Hg.states[E].type||(Hg.states[E].type=a)),d&&(Xe.info("Setting state description",E,d),typeof d=="string"&&rwe(E,d.trim()),typeof d=="object"&&d.forEach(_=>rwe(E,_.trim()))),p&&(Hg.states[E].note=p,Hg.states[E].note.text=oi.sanitizeText(Hg.states[E].note.text,qt())),v&&(Xe.info("Setting state classes",E,v),(typeof v=="string"?[v]:v).forEach(A=>iwe(E,A.trim()))),b&&(Xe.info("Setting state styles",E,b),(typeof b=="string"?[b]:b).forEach(A=>zsn(E,A.trim()))),y&&(Xe.info("Setting state styles",E,b),(typeof y=="string"?[y]:y).forEach(A=>qsn(E,A.trim())))},WKe=function(i){jJ={root:GKe()},Hg=jJ.root,sj=0,ij=UKe(),i||Rg()},aj=function(i){return Hg.states[i]},Isn=function(){return Hg.states},Osn=function(){Xe.info("Documents = ",jJ)},Nsn=function(){return Hg.relations};function twe(i=""){let a=i;return i===ewe&&(sj++,a=`${jKe}${sj}`),a}function nwe(i="",a=rj){return i===ewe?jKe:a}function Psn(i=""){let a=i;return i===$Ke&&(sj++,a=`${zKe}${sj}`),a}function Bsn(i="",a=rj){return i===$Ke?zKe:a}function Fsn(i,a,u){let d=twe(i.id.trim()),p=nwe(i.id.trim(),i.type),v=twe(a.id.trim()),b=nwe(a.id.trim(),a.type);iS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),iS(v,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),Hg.relations.push({id1:d,id2:v,relationTitle:oi.sanitizeText(u,qt())})}const YKe=function(i,a,u){if(typeof i=="object")Fsn(i,a,u);else{const d=twe(i.trim()),p=nwe(i),v=Psn(a.trim()),b=Bsn(a);iS(d,p),iS(v,b),Hg.relations.push({id1:d,id2:v,title:oi.sanitizeText(u,qt())})}},rwe=function(i,a){const u=Hg.states[i],d=a.startsWith(":")?a.replace(":","").trim():a;u.descriptions.push(oi.sanitizeText(d,qt()))},Rsn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},jsn=()=>(KKe++,"divider-id-"+KKe),XKe=function(i,a=""){ij[i]===void 0&&(ij[i]={id:i,styles:[],textStyles:[]});const u=ij[i];a!=null&&a.split(Csn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(qKe)){const b=p.replace(HKe,Esn).replace(qKe,HKe);u.textStyles.push(b)}u.styles.push(p)})},$sn=function(){return ij},iwe=function(i,a){i.split(",").forEach(function(u){let d=aj(u);if(d===void 0){const p=u.trim();iS(p),d=aj(p)}d.classes.push(a)})},zsn=function(i,a){const u=aj(i);u!==void 0&&u.textStyles.push(a)},qsn=function(i,a){const u=aj(i);u!==void 0&&u.textStyles.push(a)},K7={getConfig:()=>qt().state,addState:iS,clear:WKe,getState:aj,getStates:Isn,getRelations:Nsn,getClasses:$sn,getDirection:()=>VKe,addRelation:YKe,getDividerId:jsn,setDirection:i=>{VKe=i},cleanupLabel:Rsn,lineType:Ssn,relationType:_sn,logDocuments:Osn,getRootDoc:Lsn,setRootDoc:Asn,getRootDocV2:Msn,extract:Dsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Mp,setAccTitle:jg,getAccDescription:Ip,setAccDescription:Dp,addStyleClass:XKe,setCssClass:iwe,addDescription:rwe,setDiagramTitle:pm,getDiagramTitle:Op},QKe=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,swe={},Hsn=(i,a)=>{swe[i]=a},Usn=i=>swe[i],JKe=()=>Object.keys(swe),Vsn={get:Usn,set:Hsn,keys:JKe,size:()=>JKe().length},Gsn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Ksn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),Wsn=(i,a)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Ysn=(i,a)=>{const u=function(R,B,j){const W=R.append("tspan").attr("x",2*qt().state.padding).text(B);j||W.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,E=!0;a.descriptions.forEach(function(R){y||(u(b,R,E),E=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Xsn=(i,a,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,E=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.id),A=E.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const B=i.node().getBBox();a.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-B.x)b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",B.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),E.attr("x",R+d),A<=b&&E.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",B.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Qsn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Jsn=(i,a)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(a.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Zsn=(i,a,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const y=b.split(oi.lineBreakRegex);let E=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),E===0){const R=P.node().getBBox();E+=R.height}p+=E,P.attr("x",a+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},ean=(i,a)=>{a.attr("class","state-note");const u=a.append("rect").attr("x",0).attr("y",qt().state.padding),d=a.append("g"),{textWidth:p,textHeight:v}=Zsn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},ZKe=function(i,a){const u=a.id,d={id:u,label:a.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");a.type==="start"&&Gsn(p),a.type==="end"&&Qsn(p),(a.type==="fork"||a.type==="join")&&Jsn(p,a),a.type==="note"&&ean(a.note.text,p),a.type==="divider"&&Ksn(p),a.type==="default"&&a.descriptions.length===0&&Wsn(p,a),a.type==="default"&&a.descriptions.length>0&&Ysn(p,a);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Vsn.set(u,d),d};let eWe=0;const tan=function(i,a,u){const d=function(E){switch(E){case K7.relationType.AGGREGATION:return"aggregation";case K7.relationType.EXTENSION:return"extension";case K7.relationType.COMPOSITION:return"composition";case K7.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(E=>!Number.isNaN(E.y));const p=a.points,v=E7().x(function(E){return E.x}).y(function(E){return E.y}).curve(VF),b=i.append("path").attr("d",v(p)).attr("id","edge"+eWe).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(K7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const E=i.append("g").attr("class","stateLabel"),{x:_,y:A}=So.calcLabelPosition(a.points),P=oi.getRows(u.title);let R=0;const B=[];let j=0,W=0;for(let oe=0;oe<=P.length;oe++){const be=E.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),ge=be.node().getBBox();j=Math.max(j,ge.width),W=Math.min(W,ge.x),Xe.info(ge.x,_,A+R),R===0&&(R=be.node().getBBox().height,Xe.info("Title height",R,A)),B.push(be)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;B.forEach((be,ge)=>be.attr("y",A+ge*R-oe)),ee=R*P.length}const ie=E.node().getBBox();E.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}eWe++};let Tm;const awe={},nan=function(){},ran=function(i){i.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")},ian=function(i,a,u,d){Tm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const b=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const E=b.select(`[id='${a}']`);ran(E);const _=d.db.getRootDoc();tWe(_,E,void 0,!1,b,y,d);const A=Tm.padding,P=E.node().getBBox(),R=P.width+A*2,B=P.height+A*2,j=R*1.75;Fg(E,B,j,Tm.useMaxWidth),E.attr("viewBox",`${P.x-Tm.padding} ${P.y-Tm.padding} `+R+" "+B)},san=i=>i?i.length*Tm.fontSizeFactor:1,tWe=(i,a,u,d,p,v,b)=>{const y=new R0({compound:!0,multigraph:!0});let E,_=!0;for(E=0;E{const ge=be.parentElement;let ae=0,ne=0;ge&&(ge.parentElement&&(ae=ge.parentElement.getBBox().width),ne=parseInt(ge.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),be.setAttribute("x1",0-ne+8),be.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let W=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),tan(a,y.edge(ie),y.edge(ie).relation))}),W=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=W.width+2*Tm.padding,ee.height=W.height+2*Tm.padding,Xe.debug("Doc rendered",ee,y),ee},aan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:FKe,db:K7,renderer:{setConf:nan,draw:ian},styles:QKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,K7.clear()}}},Symbol.toStringTag,{value:"Module"})),qJ="rect",owe="rectWithTitle",oan="start",can="end",uan="divider",lan="roundedWithTitle",han="note",fan="noteGroup",sI="statediagram",dan=`${sI}-state`,nWe="transition",gan="note",pan=`${nWe} note-edge`,ban=`${sI}-${gan}`,man=`${sI}-cluster`,van=`${sI}-cluster-alt`,rWe="parent",iWe="note",wan="state",cwe="----",yan=`${cwe}${iWe}`,sWe=`${cwe}${rWe}`,aWe="fill:none",oWe="fill: #333",cWe="c",uWe="text",lWe="normal";let HJ={},z9=0;const xan=function(i){const a=Object.keys(i);for(const u of a)i[u]},kan=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function Tan(i){return i==null?"":i.classes?i.classes.join(" "):""}function uwe(i="",a=0,u="",d=cwe){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${wan}-${i}${p}-${a}`}const oj=(i,a,u,d,p,v)=>{const b=u.id,y=Tan(d[b]);if(b!=="root"){let E=qJ;u.start===!0&&(E=oan),u.start===!1&&(E=can),u.type!==rj&&(E=u.type),HJ[b]||(HJ[b]={id:b,shape:E,description:oi.sanitizeText(b,qt()),classes:`${y} ${dan}`});const _=HJ[b];u.description&&(Array.isArray(_.description)?(_.shape=owe,_.description.push(u.description)):_.description.length>0?(_.shape=owe,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=qJ,_.description=u.description),_.description=oi.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===owe&&(_.shape=qJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,lwe(u)),_.type="group",_.dir=lwe(u),_.shape=u.type===RKe?uan:lan,_.classes=_.classes+" "+man+" "+(v?van:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:uwe(b,z9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:han,labelText:u.note.text,classes:ban,style:"",id:b+yan+"-"+z9,domId:uwe(b,z9,iWe),type:_.type,padding:15},R={labelStyle:"",shape:fan,labelText:u.note.text,classes:_.classes,style:"",id:b+sWe,domId:uwe(b,z9,rWe),type:"group",padding:0};z9++;const B=b+sWe;i.setNode(B,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,B),i.setParent(P.id,B);let j=b,W=P.id;u.note.position==="left of"&&(j=P.id,W=b),i.setEdge(j,W,{arrowhead:"none",arrowType:"",style:aWe,labelStyle:"",classes:pan,arrowheadStyle:oWe,labelpos:cWe,labelType:uWe,thickness:lWe})}else i.setNode(b,A)}a&&a.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),u.doc&&(Xe.trace("Adding nodes children "),Ean(i,u,u.doc,d,p,!v))},Ean=(i,a,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case FJ:oj(i,a,b,d,p,v);break;case rj:oj(i,a,b,d,p,v);break;case Zve:{oj(i,a,b.state1,d,p,v),oj(i,a,b.state2,d,p,v);const y={id:"edge"+z9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:aWe,labelStyle:"",label:oi.sanitizeText(b.description,qt()),arrowheadStyle:oWe,labelpos:cWe,labelType:uWe,thickness:lWe,classes:nWe};i.setEdge(b.state1.id,b.state2.id,y,z9),z9++}break}})},lwe=(i,a=xsn)=>{let u=a;if(i.doc)for(let d=0;d{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,K7.clear()}}},Symbol.toStringTag,{value:"Module"}));var hwe=function(){var i=function(P,R,B,j){for(B=B||{},j=P.length;j--;B[P[j]]=R);return B},a=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],E={trace:function(){},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:function(R,B,j,W,ee,ie,oe){var be=ie.length-1;switch(ee){case 1:return ie[be-1];case 2:this.$=[];break;case 3:ie[be-1].push(ie[be]),this.$=ie[be-1];break;case 4:case 5:this.$=ie[be];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(ie[be].substr(6)),this.$=ie[be].substr(6);break;case 9:this.$=ie[be].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=ie[be].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(ie[be].substr(8)),this.$=ie[be].substr(8);break;case 13:W.addTask(ie[be-1],ie[be]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(R,B){if(B.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=B,j}},parse:function(R){var B=this,j=[0],W=[],ee=[null],ie=[],oe=this.table,be="",ge=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),pe={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(pe.yy[G]=this.yy[G]);X.setInput(R,pe.yy),pe.yy.lexer=X,pe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var Tt;return Tt=W.pop()||X.lex()||se,typeof Tt!="number"&&(Tt instanceof Array&&(W=Tt,Tt=W.pop()),Tt=B.symbols_[Tt]||Tt),Tt}for(var Pe,je,Ie,Se,Ce={},ke,Ke,zt,Ne;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Pe===null||typeof Pe>"u")&&(Pe=Be()),Ie=oe[je]&&oe[je][Pe]),typeof Ie>"u"||!Ie.length||!Ie[0]){var pn="";Ne=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Ne.push("'"+this.terminals_[ke]+"'");X.showPosition?pn="Parse error on line "+(ge+1)+`: +`+X.showPosition()+` +Expecting `+Ne.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":pn="Parse error on line "+(ge+1)+": Unexpected "+(Pe==se?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(pn,{text:X.match,token:this.terminals_[Pe]||Pe,line:X.yylineno,loc:xe,expected:Ne})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Pe);switch(Ie[0]){case 1:j.push(Pe),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Pe=null,ae=X.yyleng,be=X.yytext,ge=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[be,ae,ge,pe.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),zt=oe[j[j.length-2]][j[j.length-1]],j.push(zt);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(B,j){if(this.yy.parser)this.yy.parser.parseError(B,j);else throw new Error(B)},setInput:function(R,B){return this.yy=B||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},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var B=R.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),R},unput:function(R){var B=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var W=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),j.length-1&&(this.yylineno-=j.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:j?(j.length===W.length?this.yylloc.first_column:0)+W[W.length-j.length].length-j[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var R=this.pastInput(),B=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+B+"^"},test_match:function(R,B){var j,W,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))),W=R[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.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],j=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,B,j,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ieB[0].length)){if(B=j,W=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(R=this.test_match(B,ee[W]),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})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(B,j,W,ee){switch(W){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"}},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 P}();E.lexer=_;function A(){this.yy={}}return A.prototype=E,E.Parser=A,new A}();hwe.parser=hwe;const San=hwe;let aI="";const fwe=[],cj=[],uj=[],_an=function(){fwe.length=0,cj.length=0,aI="",uj.length=0,Rg()},Aan=function(i){aI=i,fwe.push(i)},Lan=function(){return fwe},Man=function(){let i=hWe();const a=100;let u=0;for(;!i&&u{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},Ian=function(i,a){const u=a.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:aI,type:aI,people:v,task:i,score:d};uj.push(b)},Oan=function(i){const a={section:aI,type:aI,description:i,task:i,classes:[]};cj.push(a)},hWe=function(){const i=function(u){return uj[u].processed};let a=!0;for(const[u,d]of uj.entries())i(u),a=a&&d.processed;return a},fWe={getConfig:()=>qt().journey,clear:_an,setDiagramTitle:pm,getDiagramTitle:Op,setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addSection:Aan,getSections:Lan,getTasks:Man,addTask:Ian,addTaskOrg:Oan,getActors:function(){return Dan()}},Nan=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,dwe=function(i,a){return qQ(i,a)},Pan=function(i,a){const d=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(E){const _=hD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(E){const _=hD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function y(E){E.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(p):a.score<3?b(p):y(p),d},dWe=function(i,a){const u=i.append("circle");return u.attr("cx",a.cx),u.attr("cy",a.cy),u.attr("class","actor-"+a.pos),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("r",a.r),u.class!==void 0&&u.attr("class",u.class),a.title!==void 0&&u.append("title").text(a.title),u},gWe=function(i,a){return kVt(i,a)},Ban=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(a.x,a.y,50,20,7)),d.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,gWe(i,a)},Fan=function(i,a,u){const d=i.append("g"),p=HC();p.x=a.x,p.y=a.y,p.fill=a.fill,p.width=u.width*a.taskCount+u.diagramMarginX*(a.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+a.num,p.rx=3,p.ry=3,dwe(d,p),bWe(u)(a.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+a.num},u,a.colour)};let pWe=-1;const Ran=function(i,a,u){const d=a.x+u.width/2,p=i.append("g");pWe++;const v=300+5*30;p.append("line").attr("id","task"+pWe).attr("x1",d).attr("y1",a.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Pan(p,{cx:d,cy:300+(5-a.score)*30,score:a.score});const b=HC();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,dwe(p,b);let y=a.x+14;a.people.forEach(E=>{const _=a.actors[E].color,A={cx:y,cy:a.y,r:7,fill:_,stroke:"#000",title:E,pos:a.actors[E].position};dWe(p,A),y+=10}),bWe(u)(a.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,a.colour)},jan=function(i,a){Zqe(i,a)},bWe=function(){function i(p,v,b,y,E,_,A,P){const R=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function a(p,v,b,y,E,_,A,P,R){const{taskFontSize:B,taskFontFamily:j}=P,W=p.split(//gi);for(let ee=0;ee{const p=W7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:W7[d].position};lj.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:a.boxTextMargin|5};lj.drawText(i,b),u+=20})}const UJ=qt().journey,sS=UJ.leftMargin,qan=function(i,a,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");Yv.init();const E=y.select("#"+a);lj.initGraphics(E);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in W7)delete W7[ie];let R=0;P.forEach(ie=>{W7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),zan(E),Yv.insert(0,0,sS,Object.keys(W7).length*50),Han(E,_,0);const B=Yv.getBounds();A&&E.append("text").text(A).attr("x",sS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=B.stopy-B.starty+2*p.diagramMarginY,W=sS+B.stopx+2*p.diagramMarginX;Fg(E,j,W,p.useMaxWidth),E.append("line").attr("x1",sS).attr("y1",p.height*4).attr("x2",W-sS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;E.attr("viewBox",`${B.startx} -25 ${W} ${j+ee}`),E.attr("preserveAspectRatio","xMinYMin meet"),E.attr("height",j+ee+25)},Yv={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,u,d){i[a]===void 0?i[a]=u:i[a]=d(u,i[a])},updateBounds:function(i,a,u,d){const p=qt().journey,v=this;let b=0;function y(E){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",a-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(Yv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(Yv.data,"stopx",u+P*p.boxMargin,Math.max),E!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(Yv.data,"starty",a-P*p.boxMargin,Math.min),v.updateVal(Yv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,a,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(a,d),y=Math.max(a,d);this.updateVal(Yv.data,"startx",p,Math.min),this.updateVal(Yv.data,"starty",b,Math.min),this.updateVal(Yv.data,"stopx",v,Math.max),this.updateVal(Yv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},gwe=UJ.sectionFills,mWe=UJ.sectionColours,Han=function(i,a,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,E="#CCC",_="black",A=0;for(const[P,R]of a.entries()){if(p!==R.section){E=gwe[y%gwe.length],A=y%gwe.length,_=mWe[y%mWe.length];let j=0;const W=R.section;for(let ie=P;ie(W7[W]&&(j[W]=W7[W]),j),{});R.x=P*d.taskMargin+P*d.width+sS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=E,R.num=A,R.actors=B,lj.drawTask(i,R,d),Yv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},vWe={setConf:$an,draw:qan},Uan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:San,db:fWe,renderer:vWe,styles:Nan,init:i=>{vWe.setConf(i.journey),fWe.clear()}}},Symbol.toStringTag,{value:"Module"})),Van=(i,a,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===a)return v;v=d[v]}for(v=a;v;){if(p.has(v))return v;v=d[v]}return"root"};function VJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var wWe={exports:{}};(function(i,a){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof VJ=="function"&&VJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var B=p[_]={exports:{}};d[_][0].call(B.exports,function(j){var W=d[_][1][j];return b(W||j)},B,B.exports,u,d,p,v)}return p[_].exports}for(var y=typeof VJ=="function"&&VJ,E=0;E0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,B=R===void 0?{}:R,j=P.algorithms,W=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=B,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var be=oe(ie);if(typeof be.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new E(be),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(ge){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},B=R.layoutOptions,j=B===void 0?this.defaultLayoutOptions:B,W=R.logging,ee=W===void 0?!1:W,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();p.default=y;var E=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var B=this;return new Promise(function(j,W){B.resolvers[R]=function(ee,ie){ee?(B.convertGwtStyleError(ee),W(ee)):j(ie)},B.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var B=R.data,j=P.resolvers[B.id];j&&(delete P.resolvers[B.id],B.error?j(B.error):j(null,B.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function E(){}function _(){}function A(){}function P(){}function R(){}function B(){}function j(){}function W(){}function ee(){}function ie(){}function oe(){}function be(){}function ge(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function pe(){}function G(){}function xe(){}function U(){}function Be(){}function Pe(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function zt(){}function Ne(){}function pn(){}function Tt(){}function Et(){}function Wt(){}function un(){}function yt(){}function Bt(){}function Ze(){}function Dt(){}function kt(){}function Nn(){}function ht(){}function qr(){}function xt(){}function Ri(){}function wi(){}function ia(){}function Hs(){}function mo(){}function Tr(){}function On(){}function Rn(){}function zn(){}function Ct(){}function gt(){}function on(){}function dn(){}function Ln(){}function Io(){}function Oo(){}function No(){}function Us(){}function uo(){}function Es(){}function Ou(){}function _c(){}function Kd(){}function qp(){}function Ul(){}function Ac(){}function Jc(){}function Ya(){}function Ba(){}function ha(){}function $o(){}function Lc(){}function Fa(){}function Ra(){}function ma(){}function Kh(){}function Po(){}function Hp(){}function Ug(){}function od(){}function cd(){}function w1(){}function kh(){}function Wd(){}function Yd(){}function Xd(){}function Zf(){}function Up(){}function u5(){}function bs(){}function Vt(){}function jr(){}function Ji(){}function Qo(){}function Hi(){}function Ui(){}function zs(){}function gi(){}function Bo(){}function Ot(){}function zu(){}function Gt(){}function Wh(){}function Vp(){}function J3(){}function q9(){}function l5(){}function Th(){}function Vg(){}function Em(){}function H9(){}function Cm(){}function h5(){}function y1(){}function ud(){}function ld(){}function U9(){}function Qv(){}function X7(){}function tb(){}function Q7(){}function f5(){}function Z3(){}function Gp(){}function lI(){}function sh(){}function cS(){}function lu(){}function eZ(){}function Sm(){}function tZ(){}function gj(){}function nZ(){}function pj(){}function z0(){}function ey(){}function uS(){}function bj(){}function nb(){}function ty(){}function rZ(){}function _m(){}function iZ(){}function sZ(){}function J7(){}function lS(){}function mj(){}function V9(){}function aZ(){}function G9(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function dZ(){}function gZ(){}function pZ(){}function bZ(){}function mZ(){}function hI(){}function vZ(){}function wZ(){}function hS(){}function vj(){}function Z7(){}function yZ(){}function xZ(){}function kZ(){}function TZ(){}function EZ(){}function fS(){}function fI(){}function wj(){}function d5(){}function g5(){}function CZ(){}function e0(){}function e8(){}function SZ(){}function K9(){}function Qd(){}function _Z(){}function AZ(){}function LZ(){}function yj(){}function MZ(){}function dS(){}function gS(){}function xj(){}function dI(){}function t8(){}function DZ(){}function kj(){}function Tj(){}function IZ(){}function OZ(){}function NZ(){}function PZ(){}function BZ(){}function FZ(){}function Jd(){}function Jv(){}function RZ(){}function pS(){}function bS(){}function jZ(){}function p5(){}function W9(){}function gI(){}function ny(){}function Y9(){}function $Z(){}function mS(){}function hd(){}function Ej(){}function pI(){}function X9(){}function bI(){}function Cj(){}function zZ(){}function mI(){}function qZ(){}function HZ(){}function Sj(){}function n8(){}function _j(){}function r8(){}function UZ(){}function vI(){}function VZ(){}function GZ(){}function KZ(){}function WZ(){}function Aj(){}function YZ(){}function XZ(){}function Lj(){}function QZ(){}function JZ(){}function ZZ(){}function eee(){}function Mj(){}function tee(){}function nee(){}function Dj(){}function Ij(){}function Oj(){}function ree(){}function iee(){}function Q9(){}function i8(){}function vS(){}function see(){}function wI(){}function wS(){}function yI(){}function Nj(){}function Pj(){}function aee(){}function oee(){}function cee(){}function Bj(){}function Fj(){}function uee(){}function lee(){}function hee(){}function fee(){}function dee(){}function Rj(){}function gee(){}function pee(){}function bee(){}function mee(){}function jj(){}function yS(){}function vee(){}function wee(){}function $j(){}function yee(){}function xee(){}function kee(){}function Tee(){}function Eee(){}function Cee(){}function zj(){}function See(){}function qj(){}function _ee(){}function Aee(){}function Lee(){}function xS(){}function Mee(){}function kS(){}function Dee(){}function Hj(){}function Uj(){}function Vj(){}function Gj(){}function Zv(){}function Kj(){}function Wj(){}function Yj(){}function Xj(){}function Iee(){}function s8(){}function xI(){}function b5(){}function Oee(){}function Nee(){}function TS(){}function Qj(){}function Pee(){}function Bee(){}function Fee(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Uee(){}function ES(){}function Jj(){}function Vee(){}function Gee(){}function Kee(){}function Wee(){}function Yee(){}function Zj(){}function e$(){}function Xee(){}function t$(){}function n$(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function kI(){}function ste(){}function J9(){}function r$(){}function ate(){}function ote(){}function cte(){}function ute(){}function lte(){}function hte(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function a8(){}function i$(){}function xte(){}function kte(){}function Tte(){}function s$(){}function Ete(){}function CS(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function Lte(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function o8(){}function Pte(){}function Bte(){}function Fte(){}function Rte(){}function jte(){}function $te(){}function zte(){}function qte(){}function SS(){}function Hte(){}function Ute(){}function Vte(){}function Gte(){}function Kte(){}function Wte(){}function Yte(){}function Xte(){}function c8(){}function a$(){}function Qte(){}function TI(){}function Jte(){}function Zte(){}function ene(){}function tne(){}function nne(){}function rne(){}function ine(){}function o$(){}function sne(){}function c$(){}function ane(){}function u$(){}function l$(){}function h$(){}function one(){}function cne(){}function f$(){}function une(){}function d$(){}function lne(){}function hne(){}function EI(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function g$(){}function mne(){}function vne(){}function wne(){}function Owe(){}function yne(){}function xne(){}function kne(){}function Tne(){}function Ene(){}function Cne(){}function Sne(){}function _ne(){}function Ane(){}function Lne(){}function Mne(){}function Dne(){}function Ine(){}function One(){}function Nne(){}function Pne(){}function hu(){}function Bne(){}function _S(){}function $c(){}function Nu(){}function hs(){}function CI(){}function Fne(){}function Rne(){}function jne(){}function u8(){}function Am(){}function Z9(){}function $ne(){}function SI(){}function zne(){}function qne(){}function Hne(){}function p$(){}function Une(){}function Vne(){}function _I(){}function Gne(){}function ah(){}function dl(){}function b$(){}function Kne(){}function Wne(){}function ry(){}function m5(){}function iy(){}function Kp(){}function l8(){}function AI(){}function m$(){}function v$(){}function Yne(){}function x1(){}function w$(){}function sy(){}function ek(){}function LI(){}function h8(){}function rb(){}function y$(){}function x$(){}function k$(){}function Xne(){}function f8(){}function ay(){}function Wp(){}function ib(){}function v5(){}function tk(){}function AS(){}function MI(){}function Qne(){}function Jne(){}function T$(){}function E$(){}function Kt(){}function nk(){}function C$(){}function S$(){}function Zne(){}function rk(){}function ik(){}function _$(){}function ere(){}function tre(){}function nre(){}function rre(){}function ire(){}function sre(){}function DI(){}function are(){}function ore(){}function A$(){}function LS(){}function cre(){}function II(){}function sk(){}function ak(){}function ok(){}function L$(){}function ure(){}function M$(){}function D$(){}function lre(){}function MS(){}function sb(){}function I$(){}function O$(){}function DS(){}function hre(){}function w5(){}function N$(){}function OI(){}function Zc(){}function NI(){}function PI(){}function IS(){}function fre(){}function dre(){}function OS(){}function gre(){}function NS(){}function PS(){}function q0(){}function BI(){}function FI(){}function d8(){}function pre(){}function bre(){}function mre(){}function vre(){}function Zd(){}function BS(){}function g8(){}function k1(){}function P$(){}function B$(){}function F$(){}function R$(){}function j$(){}function $$(){}function H0(){}function tl(){}function wre(){}function yre(){}function xre(){}function nl(){}function FS(){}function z$(){}function q$(){}function p8(){}function kre(){}function ck(){}function Tre(){}function H$(){}function Ere(){}function Cre(){}function RS(){}function U$(){}function RI(){}function jS(){}function Sre(){}function _re(){}function jI(){}function $S(){}function T1(){}function uk(){}function Are(){}function lk(){}function $I(){}function Lm(){}function zS(){}function zI(){}function U0(){}function qS(){}function E1(){}function C1(){}function Lre(){}function Mre(){}function y5(){}function hk(){}function fk(){}function HS(){}function Dre(){}function Ire(){}function b8(){}function V$(){}function G$(){}function Ore(){}function K$(){}function Nre(){}function W$(){}function qI(){}function Pre(){}function US(){}function Bre(){}function Fre(){}function Rre(){}function jre(){}function $re(){}function Y$(){}function zre(){}function qre(){}function Hre(){}function X$(){}function Ure(){}function Vre(){}function VS(){}function Gre(){}function Kre(){}function Wre(){}function Yre(){}function Xre(){}function Qre(){}function Q$(){}function Jre(){}function J$(){}function Zre(){}function HI(){}function eie(){}function Z$(){}function tie(){}function ez(){}function nie(){}function tz(){}function nz(){}function rz(){}function UI(){}function x5(){}function GS(){}function S1(){}function iz(){}function dk(){}function VI(){}function sz(){}function Mm(){}function az(){}function KS(){c_()}function rie(){fO()}function oz(){yV()}function cz(){Hce()}function uz(){OA()}function WS(){g9e()}function YS(){p0()}function lz(){Exe()}function hz(){JN()}function m8(){dO()}function ew(){zO()}function gk(){qet()}function fz(){hx()}function iie(){blt()}function dz(){T7e()}function v8(){ict()}function GI(){E7e()}function gz(){Klt()}function sie(){rct()}function pz(){ST()}function XS(){Mft()}function QS(){Lft()}function KI(){Zct()}function aie(){Dft()}function oie(){Nb()}function cie(){oq()}function uie(){dTe()}function lie(){Nt()}function hie(){Ift()}function fie(){s0t()}function die(){sct()}function gie(){Mgt()}function pie(){act()}function bie(){Umt()}function mie(){V9e()}function vie(){sp()}function wie(){V1t()}function w8(){Vc()}function yie(){pct()}function pk(){lx()}function Cf(){_ke()}function xie(){Pb()}function bk(){Ake()}function JS(){z1()}function kie(){rP()}function Tie(){ple()}function Eie(){Eue()}function Sf(){Vit()}function Cie(){aU()}function Sie(){SV()}function bz(){bi()}function _ie(){qU()}function mz(){exe()}function vz(){Ece()}function wz(){WV()}function yz(){jke()}function t0(e){tr(e)}function xz(e){this.a=e}function ZS(e){this.a=e}function kz(e){this.a=e}function Tz(e){this.a=e}function Aie(e){this.a=e}function Lie(e){this.a=e}function Ez(e){this.a=e}function Mie(e){this.a=e}function Cz(e){this.a=e}function ab(e){this.a=e}function Die(e){this.a=e}function Iie(e){this.a=e}function WI(e){this.a=e}function Oie(e){this.a=e}function Nie(e){this.a=e}function mk(e){this.a=e}function ob(e){this.a=e}function Sz(e){this.a=e}function vk(e){this.a=e}function k5(e){this.a=e}function YI(e){this.a=e}function y8(e){this.a=e}function XI(e){this.b=e}function Gg(e){this.c=e}function Pie(e){this.a=e}function oy(e){this.a=e}function _z(e){this.a=e}function Az(e){this.a=e}function QI(e){this.a=e}function JI(e){this.a=e}function Lz(e){this.a=e}function x8(e){this.a=e}function wk(e){this.a=e}function Bie(e){this.a=e}function Mz(e){this.a=e}function Dz(e){this.a=e}function Iz(e){this.a=e}function Oz(e){this.a=e}function zc(e){this.a=e}function yk(e){this.a=e}function xk(e){this.a=e}function Yp(){this.a=[]}function Fie(e,t){e.a=t}function Rie(e,t){e.a=t}function jie(e,t){e.b=t}function $ie(e,t){e.b=t}function zie(e,t){e.b=t}function Nz(e,t){e.j=t}function Nwe(e,t){e.g=t}function Pz(e,t){e.i=t}function qie(e,t){e.c=t}function k8(e,t){e.c=t}function Pwe(e,t){e.d=t}function T8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Te(e,t){e.e=t}function Fe(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function vt(e,t){e.c=t}function Qe(e,t){e.c=t}function Lt(e,t){e.c=t}function Mt(e,t){e.a=t}function ut(e,t){e.a=t}function Yt(e,t){e.d=t}function St(e,t){e.d=t}function _n(e,t){e.e=t}function fn(e,t){e.e=t}function Xt(e,t){e.g=t}function Dn(e,t){e.f=t}function rr(e,t){e.j=t}function mr(e,t){e.a=t}function Pn(e,t){e.a=t}function gr(e,t){e.b=t}function kr(e){e.b=e.a}function Lr(e){e.c=e.d.d}function Er(e){this.a=e}function Ir(e){this.a=e}function Kn(e){this.a=e}function pr(e){this.a=e}function Cr(e){this.a=e}function Or(e){this.a=e}function _i(e){this.a=e}function xs(e){this.a=e}function va(e){this.a=e}function Di(e){this.a=e}function pi(e){this.a=e}function fs(e){this.a=e}function Fs(e){this.a=e}function ks(e){this.a=e}function Rs(e){this.b=e}function vo(e){this.b=e}function ja(e){this.b=e}function Ma(e){this.a=e}function Fo(e){this.a=e}function er(e){this.c=e}function K(e){this.c=e}function Qn(e){this.c=e}function xr(e){this.d=e}function ur(e){this.a=e}function Ut(e){this.a=e}function Vs(e){this.a=e}function vr(e){this.a=e}function Cs(e){this.a=e}function lo(e){this.a=e}function qc(e){this.a=e}function $a(e){this.a=e}function Mc(e){this.a=e}function wa(e){this.a=e}function wo(e){this.a=e}function oh(e){this.a=e}function Vl(e){this.a=e}function cb(e){this.a=e}function ub(e){this.a=e}function V0(e){this.a=e}function Xp(e){this.a=e}function fd(e){this.a=e}function tw(e){this.a=e}function cy(e){this.a=e}function E8(e){this.a=e}function T5(e){this.a=e}function C8(e){this.a=e}function e_(e){this.a=e}function E5(e){this.a=e}function eg(e){this.a=e}function _1(e){this.a=e}function tg(e){this.a=e}function nw(e){this.a=e}function Dm(e){this.a=e}function Bz(e){this.a=e}function Hie(e){this.a=e}function Uie(e){this.a=e}function t_(e){this.a=e}function Vie(e){this.a=e}function Gie(e){this.a=e}function C5(e){this.a=e}function Fz(e){this.a=e}function kk(e){this.a=e}function ZI(e){this.a=e}function n_(e){this.a=e}function Rz(e){this.a=e}function jz(e){this.a=e}function Kie(e){this.a=e}function Qp(e){this.a=e}function r_(e){this.a=e}function eO(e){this.a=e}function Im(e){this.a=e}function ng(e){this.e=e}function S5(e){this.a=e}function pYe(e){this.a=e}function S8(e){this.a=e}function Bwe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function TYe(e){this.a=e}function EYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function Fwe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.a=e}function BYe(e){this.a=e}function FYe(e){this.a=e}function RYe(e){this.a=e}function jYe(e){this.a=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function UYe(e){this.a=e}function VYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.c=e}function fXe(e){this.b=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function TXe(e){this.a=e}function EXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function BXe(e){this.a=e}function FXe(e){this.a=e}function RXe(e){this.a=e}function jXe(e){this.a=e}function Kg(e){this.a=e}function _5(e){this.a=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function UXe(e){this.a=e}function VXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function hQe(e){this.a=e}function $z(e){this.a=e}function fQe(e){this.f=e}function dQe(e){this.a=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.a=e}function wQe(e){this.a=e}function yQe(e){this.a=e}function xQe(e){this.a=e}function kQe(e){this.a=e}function TQe(e){this.a=e}function EQe(e){this.a=e}function CQe(e){this.a=e}function SQe(e){this.a=e}function _Qe(e){this.a=e}function AQe(e){this.a=e}function LQe(e){this.a=e}function MQe(e){this.a=e}function DQe(e){this.a=e}function IQe(e){this.a=e}function OQe(e){this.a=e}function NQe(e){this.a=e}function PQe(e){this.a=e}function BQe(e){this.a=e}function FQe(e){this.a=e}function RQe(e){this.a=e}function jQe(e){this.a=e}function $Qe(e){this.a=e}function Wie(e){this.a=e}function Rwe(e){this.a=e}function Ki(e){this.b=e}function zQe(e){this.a=e}function qQe(e){this.a=e}function HQe(e){this.a=e}function UQe(e){this.a=e}function VQe(e){this.a=e}function GQe(e){this.a=e}function KQe(e){this.a=e}function WQe(e){this.b=e}function YQe(e){this.a=e}function tO(e){this.a=e}function XQe(e){this.a=e}function QQe(e){this.a=e}function jwe(e){this.c=e}function zz(e){this.e=e}function qz(e){this.a=e}function Hz(e){this.a=e}function Yie(e){this.a=e}function JQe(e){this.d=e}function ZQe(e){this.a=e}function $we(e){this.a=e}function zwe(e){this.a=e}function rw(e){this.e=e}function Jcn(){this.a=0}function Nr(){Dl(this)}function mt(){uae(this)}function Xie(){Rat(this)}function eJe(){}function iw(){this.c=KPe}function tJe(e,t){e.b+=t}function Zcn(e,t){t.Wb(e)}function eun(e){return e.a}function tun(e){return e.a}function nun(e){return e.a}function run(e){return e.a}function iun(e){return e.a}function ue(e){return e.e}function sun(){return null}function aun(){return null}function oun(){S3e(),$In()}function cun(e){e.b.Of(e.e)}function nJe(e){e.b=new bse}function i_(e,t){e.b=t-e.b}function s_(e,t){e.a=t-e.a}function qn(e,t){e.push(t)}function rJe(e,t){e.sort(t)}function iJe(e,t){t.jd(e.a)}function uun(e,t){ga(t,e)}function lun(e,t,n){e.Yd(n,t)}function nO(e,t){e.e=t,t.b=e}function qwe(e){wd(),this.a=e}function sJe(e){wd(),this.a=e}function aJe(e){wd(),this.a=e}function Qie(e){Sw(),this.a=e}function oJe(e){Jk(),$0e.le(e)}function Hwe(){Hwe=U,new Nr}function Om(){Art.call(this)}function Uwe(){Art.call(this)}function Vwe(){Om.call(this)}function Jie(){Om.call(this)}function cJe(){Om.call(this)}function rO(){Om.call(this)}function gl(){Om.call(this)}function _8(){Om.call(this)}function Qr(){Om.call(this)}function Yh(){Om.call(this)}function uJe(){Om.call(this)}function Dc(){Om.call(this)}function lJe(){Om.call(this)}function hJe(){this.a=this}function Uz(){this.Bb|=256}function fJe(){this.b=new xnt}function uy(e,t){e.length=t}function Vz(e,t){wt(e.a,t)}function hun(e,t){b9e(e.c,t)}function fun(e,t){sa(e.b,t)}function dun(e,t){gV(e.a,t)}function gun(e,t){Qce(e.a,t)}function Tk(e,t){Bi(e.e,t)}function A8(e){MV(e.c,e.b)}function pun(e,t){e.kc().Nb(t)}function Gwe(e){this.a=o5n(e)}function Ys(){this.a=new Nr}function dJe(){this.a=new Nr}function Kwe(){this.a=new Net}function Gz(){this.a=new mt}function Zie(){this.a=new mt}function Wwe(){this.a=new mt}function _f(){this.a=new qp}function Nm(){this.a=new llt}function Ywe(){this.a=new Em}function Xwe(){this.a=new nct}function Qwe(){this.a=new git}function gJe(){this.a=new mt}function pJe(){this.a=new mt}function bJe(){this.a=new mt}function Jwe(){this.a=new mt}function mJe(){this.d=new mt}function vJe(){this.a=new kct}function wJe(){this.a=new Ys}function yJe(){this.a=new Nr}function xJe(){this.b=new Nr}function kJe(){this.b=new mt}function Zwe(){this.e=new mt}function TJe(){this.a=new oie}function EJe(){this.d=new mt}function CJe(){_ot.call(this)}function SJe(){_ot.call(this)}function _Je(){mt.call(this)}function e3e(){Vwe.call(this)}function t3e(){Gz.call(this)}function AJe(){Qq.call(this)}function LJe(){Jwe.call(this)}function a_(){eJe.call(this)}function ese(){a_.call(this)}function L8(){eJe.call(this)}function n3e(){L8.call(this)}function MJe(){a3e.call(this)}function DJe(){a3e.call(this)}function IJe(){a3e.call(this)}function OJe(){o3e.call(this)}function o_(){cre.call(this)}function r3e(){cre.call(this)}function pl(){os.call(this)}function NJe(){YJe.call(this)}function PJe(){YJe.call(this)}function BJe(){Nr.call(this)}function FJe(){Nr.call(this)}function RJe(){Nr.call(this)}function tse(){Pft.call(this)}function jJe(){Ys.call(this)}function $Je(){Uz.call(this)}function nse(){$ye.call(this)}function i3e(){Nr.call(this)}function rse(){$ye.call(this)}function ise(){Nr.call(this)}function zJe(){Nr.call(this)}function s3e(){w5.call(this)}function qJe(){s3e.call(this)}function HJe(){w5.call(this)}function UJe(){sz.call(this)}function a3e(){this.a=new Ys}function VJe(){this.a=new Nr}function GJe(){this.a=new mt}function o3e(){this.a=new Nr}function M8(){this.a=new os}function KJe(){this.j=new mt}function WJe(){this.a=new GZe}function YJe(){this.a=new hre}function c3e(){this.a=new hs}function c_(){c_=U,I0e=new _}function sse(){sse=U,O0e=new QJe}function ase(){ase=U,N0e=new XJe}function XJe(){mk.call(this,"")}function QJe(){mk.call(this,"")}function JJe(e){ift.call(this,e)}function ZJe(e){ift.call(this,e)}function u3e(e){Cz.call(this,e)}function l3e(e){ket.call(this,e)}function bun(e){ket.call(this,e)}function mun(e){l3e.call(this,e)}function vun(e){l3e.call(this,e)}function wun(e){l3e.call(this,e)}function eZe(e){Roe.call(this,e)}function tZe(e){Roe.call(this,e)}function nZe(e){Bit.call(this,e)}function rZe(e){O3e.call(this,e)}function u_(e){rq.call(this,e)}function h3e(e){rq.call(this,e)}function iZe(e){rq.call(this,e)}function f3e(e){z9n.call(this,e)}function d3e(e){f3e.call(this,e)}function Ic(e){rat.call(this,e)}function sZe(e){Ic.call(this,e)}function D8(){xk.call(this,{})}function aZe(){aZe=U,H6t=new G}function Kz(){Kz=U,F0e=new irt}function oZe(){oZe=U,u_e=new E}function g3e(){g3e=U,l_e=new ae}function Wz(){Wz=U,PL=new de}function ose(e){Pk(),this.a=e}function cse(e){z7e(),this.a=e}function sw(e){Gae(),this.f=e}function use(e){Gae(),this.f=e}function cZe(e){Uit(),this.a=e}function uZe(e){e.b=null,e.c=0}function yun(e,t){e.e=t,Ubt(e,t)}function xun(e,t){e.a=t,Akn(e)}function lse(e,t,n){e.a[t.g]=n}function kun(e,t,n){H8n(n,e,t)}function Tun(e,t){v0n(t.i,e.n)}function lZe(e,t){qyn(e).Cd(t)}function Eun(e,t){e.a.ec().Mc(t)}function hZe(e,t){return e.g-t.g}function Cun(e,t){return e*e/t}function Ft(e){return tr(e),e}function ze(e){return tr(e),e}function iO(e){return tr(e),e}function Sun(e){return new yk(e)}function _un(e){return new Ty(e)}function p3e(e){return tr(e),e}function Aun(e){return tr(e),e}function Yz(e){Ic.call(this,e)}function rc(e){Ic.call(this,e)}function fZe(e){Ic.call(this,e)}function hse(e){rat.call(this,e)}function Ek(e){Ic.call(this,e)}function Wn(e){Ic.call(this,e)}function ic(e){Ic.call(this,e)}function dZe(e){Ic.call(this,e)}function I8(e){Ic.call(this,e)}function Jp(e){Ic.call(this,e)}function Zp(e){Ic.call(this,e)}function O8(e){Ic.call(this,e)}function dd(e){Ic.call(this,e)}function fse(e){Ic.call(this,e)}function ri(e){Ic.call(this,e)}function Ll(e){tr(e),this.a=e}function b3e(e){return Zm(e),e}function l_(e){A5e(e,e.length)}function h_(e){return e.b==e.c}function ly(e){return!!e&&e.b}function Lun(e){return!!e&&e.k}function Mun(e){return!!e&&e.j}function Dun(e,t,n){e.c.Ef(t,n)}function gZe(e,t){e.be(t),t.ae(e)}function N8(e){wd(),this.a=Xr(e)}function dse(){this.a=Zr(Xr(To))}function pZe(){throw ue(new Qr)}function Iun(){throw ue(new Qr)}function m3e(){throw ue(new Qr)}function bZe(){throw ue(new Qr)}function Oun(){throw ue(new Qr)}function Nun(){throw ue(new Qr)}function Xz(){Xz=U,Jk()}function e2(){Or.call(this,"")}function f_(){Or.call(this,"")}function lb(){Or.call(this,"")}function A5(){Or.call(this,"")}function v3e(e){rc.call(this,e)}function w3e(e){rc.call(this,e)}function gd(e){Wn.call(this,e)}function Ck(e){ja.call(this,e)}function mZe(e){Ck.call(this,e)}function gse(e){Gq.call(this,e)}function pse(e){Jye.call(this,e,0)}function bse(){l6e.call(this,12,3)}function le(e,t){return Xot(e,t)}function Qz(e,t){return Zoe(e,t)}function Pun(e,t){return e.a-t.a}function Bun(e,t){return e.a-t.a}function Fun(e,t){return e.a-t.a}function Run(e,t){return t in e.a}function vZe(e){return e.a?e.b:0}function jun(e){return e.a?e.b:0}function $un(e,t,n){t.Cd(e.a[n])}function zun(e,t,n){t.Pe(e.a[n])}function qun(e,t){e.b=new xo(t)}function Hun(e,t){return e.b=t,e}function wZe(e,t){return e.c=t,e}function yZe(e,t){return e.f=t,e}function Uun(e,t){return e.g=t,e}function y3e(e,t){return e.a=t,e}function x3e(e,t){return e.f=t,e}function Vun(e,t){return e.k=t,e}function k3e(e,t){return e.a=t,e}function Gun(e,t){return e.e=t,e}function T3e(e,t){return e.e=t,e}function Kun(e,t){return e.f=t,e}function Wun(e,t){e.b=!0,e.d=t}function Yun(e,t){return e.b-t.b}function Xun(e,t){return e.g-t.g}function Qun(e,t){return e?0:t-1}function xZe(e,t){return e?0:t-1}function Jun(e,t){return e?t-1:0}function Zun(e,t){return e.s-t.s}function eln(e,t){return t.rg(e)}function aw(e,t){return e.b=t,e}function Jz(e,t){return e.a=t,e}function ow(e,t){return e.c=t,e}function cw(e,t){return e.d=t,e}function uw(e,t){return e.e=t,e}function E3e(e,t){return e.f=t,e}function d_(e,t){return e.a=t,e}function Sk(e,t){return e.b=t,e}function _k(e,t){return e.c=t,e}function Jt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Zt(e,t){return e.d=t,e}function en(e,t){return e.e=t,e}function tln(e,t){return e.f=t,e}function tn(e,t){return e.g=t,e}function nn(e,t){return e.a=t,e}function rn(e,t){return e.i=t,e}function sn(e,t){return e.j=t,e}function nln(e,t){Nb(),Nc(t,e)}function rln(e,t,n){wgn(e.a,t,n)}function Zz(e){_ae.call(this,e)}function kZe(e){k5n.call(this,e)}function TZe(e){iot.call(this,e)}function C3e(e){iot.call(this,e)}function hb(e){Bw.call(this,e)}function EZe(e){boe.call(this,e)}function CZe(e){boe.call(this,e)}function SZe(){Nye.call(this,"")}function za(){this.a=0,this.b=0}function _Ze(){this.b=0,this.a=0}function AZe(e,t){e.b=0,Oy(e,t)}function LZe(e,t){return e.k=t,e}function iln(e,t){return e.j=t,e}function sln(e,t){e.c=t,e.b=!0}function MZe(){MZe=U,n7t=bxn()}function fb(){fb=U,Y_t=_8n()}function DZe(){DZe=U,La=jxn()}function S3e(){S3e=U,am=dT()}function Ak(){Ak=U,GPe=A8n()}function IZe(){IZe=U,OAt=L8n()}function _3e(){_3e=U,ru=Ckn()}function G0(e){return e.e&&e.e()}function OZe(e){return e.l|e.m<<22}function NZe(e,t){return e.c._b(t)}function PZe(e,t){return N1t(e.b,t)}function mse(e){return e?e.d:null}function aln(e){return e?e.g:null}function oln(e){return e?e.i:null}function Pm(e){return Xg(e),e.o}function L5(e,t){return e.a+=t,e}function vse(e,t){return e.a+=t,e}function t2(e,t){return e.a+=t,e}function lw(e,t){return e.a+=t,e}function A3e(e,t){for(;e.Bd(t););}function eq(e){this.a=new P8(e)}function BZe(){throw ue(new Qr)}function FZe(){throw ue(new Qr)}function RZe(){throw ue(new Qr)}function jZe(){throw ue(new Qr)}function $Ze(){throw ue(new Qr)}function zZe(){throw ue(new Qr)}function n2(e){this.a=new Yae(e)}function qZe(){this.a=new GA(zIe)}function HZe(){this.b=new GA(aIe)}function UZe(){this.a=new GA(hOe)}function VZe(){this.b=new GA(Lge)}function GZe(){this.b=new GA(Lge)}function tq(e){this.a=0,this.b=e}function L3e(e){kwt(),ZIn(this,e)}function Lk(e){return xb(e),e.a}function sO(e){return e.b!=e.d.c}function M3e(e,t){return e.d[t.p]}function KZe(e,t){return bSn(e,t)}function D3e(e,t,n){e.splice(t,n)}function M5(e,t){for(;e.Re(t););}function WZe(e){e.c?cmt(e):umt(e)}function YZe(){throw ue(new Qr)}function XZe(){throw ue(new Qr)}function QZe(){throw ue(new Qr)}function JZe(){throw ue(new Qr)}function ZZe(){throw ue(new Qr)}function eet(){throw ue(new Qr)}function tet(){throw ue(new Qr)}function net(){throw ue(new Qr)}function ret(){throw ue(new Qr)}function iet(){throw ue(new Qr)}function cln(){throw ue(new Dc)}function uln(){throw ue(new Dc)}function aO(e){this.a=new set(e)}function set(e){d3n(this,e,V9n())}function oO(e){return!e||Fat(e)}function cO(e){return nd[e]!=-1}function lln(){dK!=0&&(dK=0),gK=-1}function aet(){D0e==null&&(D0e=[])}function uO(e,t){U5.call(this,e,t)}function Mk(e,t){uO.call(this,e,t)}function oet(e,t){this.a=e,this.b=t}function cet(e,t){this.a=e,this.b=t}function uet(e,t){this.a=e,this.b=t}function het(e,t){this.a=e,this.b=t}function fet(e,t){this.a=e,this.b=t}function det(e,t){this.a=e,this.b=t}function get(e,t){this.a=e,this.b=t}function Dk(e,t){this.e=e,this.d=t}function I3e(e,t){this.b=e,this.c=t}function pet(e,t){this.b=e,this.a=t}function bet(e,t){this.b=e,this.a=t}function met(e,t){this.b=e,this.a=t}function vet(e,t){this.b=e,this.a=t}function wet(e,t){this.a=e,this.b=t}function wse(e,t){this.a=e,this.b=t}function yet(e,t){this.a=e,this.f=t}function hw(e,t){this.g=e,this.i=t}function Vr(e,t){this.f=e,this.g=t}function xet(e,t){this.b=e,this.c=t}function ket(e){qye(e.dc()),this.c=e}function hln(e,t){this.a=e,this.b=t}function Tet(e,t){this.a=e,this.b=t}function Eet(e){this.a=l(Xr(e),15)}function O3e(e){this.a=l(Xr(e),15)}function Cet(e){this.a=l(Xr(e),85)}function nq(e){this.b=l(Xr(e),85)}function rq(e){this.b=l(Xr(e),51)}function iq(){this.q=new b.Date}function yse(e,t){this.a=e,this.b=t}function _et(e,t){return Hu(e.b,t)}function lO(e,t){return e.b.Hc(t)}function Aet(e,t){return e.b.Ic(t)}function Let(e,t){return e.b.Qc(t)}function Met(e,t){return e.b.Hc(t)}function Det(e,t){return e.c.uc(t)}function Iet(e,t){return Fi(e.c,t)}function K0(e,t){return e.a._b(t)}function Oet(e,t){return e>t&&t0}function Sse(e,t){return su(e,t)<0}function Yet(e,t){return qae(e.a,t)}function Mln(e,t){Qot.call(this,e,t)}function $3e(e){ooe(),Bit.call(this,e)}function z3e(e,t){Ust(e,e.length,t)}function gO(e,t){vat(e,e.length,t)}function x_(e,t){return e.a.get(t)}function Xet(e,t){return Hu(e.e,t)}function q3e(e){return tr(e),!1}function H3e(e){this.a=l(Xr(e),229)}function dq(e){kn.call(this,e,21)}function gq(e,t){Vr.call(this,e,t)}function _se(e,t){Vr.call(this,e,t)}function Qet(e,t){this.b=e,this.a=t}function pq(e,t){this.d=e,this.e=t}function Jet(e,t){this.a=e,this.b=t}function Zet(e,t){this.a=e,this.b=t}function ett(e,t){this.a=e,this.b=t}function ttt(e,t){this.a=e,this.b=t}function F8(e,t){this.a=e,this.b=t}function ntt(e,t){this.b=e,this.a=t}function U3e(e,t){this.b=e,this.a=t}function V3e(e,t){Vr.call(this,e,t)}function G3e(e,t){Vr.call(this,e,t)}function D5(e,t){Vr.call(this,e,t)}function Ase(e,t){Vr.call(this,e,t)}function Lse(e,t){Vr.call(this,e,t)}function Mse(e,t){Vr.call(this,e,t)}function bq(e,t){Vr.call(this,e,t)}function K3e(e,t){this.b=e,this.a=t}function mq(e,t){Vr.call(this,e,t)}function W3e(e,t){this.b=e,this.a=t}function vq(e,t){Vr.call(this,e,t)}function rtt(e,t){this.b=e,this.a=t}function Y3e(e,t){Vr.call(this,e,t)}function Dse(e,t){Vr.call(this,e,t)}function pO(e,t){Vr.call(this,e,t)}function k_(e,t,n){e.splice(t,0,n)}function Dln(e,t,n){e.Mb(n)&&t.Cd(n)}function Iln(e,t,n){t.Pe(e.a.Ye(n))}function Oln(e,t,n){t.Dd(e.a.Ze(n))}function Nln(e,t,n){t.Cd(e.a.Kb(n))}function Pln(e,t){return ml(e.c,t)}function Bln(e,t){return ml(e.e,t)}function wq(e,t){Vr.call(this,e,t)}function yq(e,t){Vr.call(this,e,t)}function T_(e,t){Vr.call(this,e,t)}function X3e(e,t){Vr.call(this,e,t)}function Xs(e,t){Vr.call(this,e,t)}function xq(e,t){Vr.call(this,e,t)}function itt(e,t){this.a=e,this.b=t}function stt(e,t){this.a=e,this.b=t}function att(e,t){this.a=e,this.b=t}function ott(e,t){this.a=e,this.b=t}function ctt(e,t){this.a=e,this.b=t}function utt(e,t){this.a=e,this.b=t}function ltt(e,t){this.b=e,this.a=t}function htt(e,t){this.b=e,this.a=t}function Q3e(e,t){this.b=e,this.a=t}function Nk(e,t){this.c=e,this.d=t}function ftt(e,t){this.e=e,this.d=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.b=e,this.a=t}function mtt(e,t){this.b=t,this.c=e}function kq(e,t){Vr.call(this,e,t)}function bO(e,t){Vr.call(this,e,t)}function Ise(e,t){Vr.call(this,e,t)}function J3e(e,t){Vr.call(this,e,t)}function E_(e,t){Vr.call(this,e,t)}function Ose(e,t){Vr.call(this,e,t)}function Nse(e,t){Vr.call(this,e,t)}function mO(e,t){Vr.call(this,e,t)}function Z3e(e,t){Vr.call(this,e,t)}function Pse(e,t){Vr.call(this,e,t)}function C_(e,t){Vr.call(this,e,t)}function eye(e,t){Vr.call(this,e,t)}function S_(e,t){Vr.call(this,e,t)}function __(e,t){Vr.call(this,e,t)}function fy(e,t){Vr.call(this,e,t)}function Bse(e,t){Vr.call(this,e,t)}function Fse(e,t){Vr.call(this,e,t)}function tye(e,t){Vr.call(this,e,t)}function vO(e,t){Vr.call(this,e,t)}function I5(e,t){Vr.call(this,e,t)}function Rse(e,t){Vr.call(this,e,t)}function Tq(e,t){Vr.call(this,e,t)}function wO(e,t){Vr.call(this,e,t)}function dy(e,t){Vr.call(this,e,t)}function Eq(e,t){Vr.call(this,e,t)}function nye(e,t){Vr.call(this,e,t)}function jse(e,t){Vr.call(this,e,t)}function $se(e,t){Vr.call(this,e,t)}function zse(e,t){Vr.call(this,e,t)}function qse(e,t){Vr.call(this,e,t)}function Hse(e,t){Vr.call(this,e,t)}function Use(e,t){Vr.call(this,e,t)}function Vse(e,t){Vr.call(this,e,t)}function vtt(e,t){this.b=e,this.a=t}function rye(e,t){Vr.call(this,e,t)}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.a=e,this.b=t}function iye(e,t){Vr.call(this,e,t)}function sye(e,t){Vr.call(this,e,t)}function ktt(e,t){this.a=e,this.b=t}function Fln(e,t){return zk(),t!=e}function yO(e){return br(e.a),e.b}function Gse(e){return UTn(e,e.c),e}function Ttt(){return MZe(),new n7t}function Ett(){nH(),this.a=new k4e}function Ctt(){jV(),this.a=new Ys}function Stt(){Soe(),this.b=new Ys}function _tt(e,t){this.b=e,this.d=t}function Att(e,t){this.a=e,this.b=t}function Ltt(e,t){this.a=e,this.b=t}function Mtt(e,t){this.a=e,this.b=t}function Dtt(e,t){this.b=e,this.a=t}function aye(e,t){Vr.call(this,e,t)}function oye(e,t){Vr.call(this,e,t)}function Cq(e,t){Vr.call(this,e,t)}function gw(e,t){Vr.call(this,e,t)}function Kse(e,t){Vr.call(this,e,t)}function Sq(e,t){Vr.call(this,e,t)}function cye(e,t){Vr.call(this,e,t)}function uye(e,t){Vr.call(this,e,t)}function xO(e,t){Vr.call(this,e,t)}function lye(e,t){Vr.call(this,e,t)}function Wse(e,t){Vr.call(this,e,t)}function _q(e,t){Vr.call(this,e,t)}function Yse(e,t){Vr.call(this,e,t)}function Xse(e,t){Vr.call(this,e,t)}function Qse(e,t){Vr.call(this,e,t)}function Jse(e,t){Vr.call(this,e,t)}function hye(e,t){Vr.call(this,e,t)}function Zse(e,t){Vr.call(this,e,t)}function fye(e,t){Vr.call(this,e,t)}function kO(e,t){Vr.call(this,e,t)}function eae(e,t){Vr.call(this,e,t)}function dye(e,t){Vr.call(this,e,t)}function TO(e,t){Vr.call(this,e,t)}function gye(e,t){Vr.call(this,e,t)}function Itt(e,t){this.b=e,this.a=t}function Ott(e,t){this.b=e,this.a=t}function Ntt(e,t){this.b=e,this.a=t}function Ptt(e,t){this.b=e,this.a=t}function pye(e,t){this.a=e,this.b=t}function Btt(e,t){this.a=e,this.b=t}function Ftt(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function A_(e,t){Vr.call(this,e,t)}function EO(e,t){Vr.call(this,e,t)}function R8(e,t){Vr.call(this,e,t)}function L_(e,t){Vr.call(this,e,t)}function CO(e,t){Vr.call(this,e,t)}function tae(e,t){Vr.call(this,e,t)}function Aq(e,t){Vr.call(this,e,t)}function M_(e,t){Vr.call(this,e,t)}function nae(e,t){Vr.call(this,e,t)}function Lq(e,t){Vr.call(this,e,t)}function O5(e,t){Vr.call(this,e,t)}function SO(e,t){Vr.call(this,e,t)}function D_(e,t){Vr.call(this,e,t)}function I_(e,t){Vr.call(this,e,t)}function _O(e,t){Vr.call(this,e,t)}function Mq(e,t){Vr.call(this,e,t)}function N5(e,t){Vr.call(this,e,t)}function rae(e,t){Vr.call(this,e,t)}function Rtt(e,t){Vr.call(this,e,t)}function Dq(e,t){Vr.call(this,e,t)}function jtt(e,t){this.a=e,this.b=t}function $tt(e,t){this.a=e,this.b=t}function ztt(e,t){this.a=e,this.b=t}function qtt(e,t){this.a=e,this.b=t}function Htt(e,t){this.a=e,this.b=t}function Utt(e,t){this.a=e,this.b=t}function fa(e,t){this.a=e,this.b=t}function Vtt(e,t){this.a=e,this.b=t}function Gtt(e,t){this.a=e,this.b=t}function Ktt(e,t){this.a=e,this.b=t}function Wtt(e,t){this.a=e,this.b=t}function Ytt(e,t){this.a=e,this.b=t}function Xtt(e,t){this.a=e,this.b=t}function Qtt(e,t){this.b=e,this.a=t}function Jtt(e,t){this.b=e,this.a=t}function Ztt(e,t){this.b=e,this.a=t}function ent(e,t){this.b=e,this.a=t}function tnt(e,t){this.a=e,this.b=t}function nnt(e,t){this.a=e,this.b=t}function Iq(e,t){Vr.call(this,e,t)}function rnt(e,t){this.a=e,this.b=t}function int(e,t){this.a=e,this.b=t}function j8(e,t){Vr.call(this,e,t)}function snt(e,t){this.f=e,this.c=t}function bye(e,t){return ml(e.g,t)}function Rln(e,t){return ml(t.b,e)}function ant(e,t){return oue(e.a,t)}function jln(e,t){return-e.b.af(t)}function $ln(e,t){e&&Ti(vF,e,t)}function mye(e,t){e.i=null,AU(e,t)}function zln(e,t,n){Qgt(t,Zue(e,n))}function qln(e,t,n){Qgt(t,Zue(e,n))}function Hln(e,t){mCn(e.a,l(t,58))}function ont(e,t){dwn(e.a,l(t,12))}function Oq(e,t){this.a=e,this.b=t}function cnt(e,t){this.a=e,this.b=t}function unt(e,t){this.a=e,this.b=t}function lnt(e,t){this.a=e,this.b=t}function hnt(e,t){this.a=e,this.b=t}function fnt(e,t){this.d=e,this.b=t}function dnt(e,t){this.e=e,this.a=t}function AO(e,t){this.b=e,this.c=t}function vye(e,t){this.i=e,this.g=t}function wye(e,t){this.d=e,this.e=t}function Uln(e,t){Awn(new ar(e),t)}function Nq(e){return VN(e.c,e.b)}function dc(e){return e?e.md():null}function qe(e){return e??null}function Da(e){return typeof e===Gle}function gy(e){return typeof e===Sx}function py(e){return typeof e===pTe}function pw(e,t){return su(e,t)==0}function Pq(e,t){return su(e,t)>=0}function O_(e,t){return su(e,t)!=0}function Bq(e,t){return V3n(e.Kc(),t)}function pb(e,t){return e.Rd().Xb(t)}function gnt(e){return Wl(e),e.d.gc()}function Fq(e){return V_(e==null),e}function N_(e,t){return e.a+=""+t,e}function Jo(e,t){return e.a+=""+t,e}function P_(e,t){return e.a+=""+t,e}function mu(e,t){return e.a+=""+t,e}function li(e,t){return e.a+=""+t,e}function yye(e,t){return e.a+=""+t,e}function Vln(e){return""+(tr(e),e)}function pnt(e){Dl(this),mA(this,e)}function bnt(){u6e(),p5e.call(this)}function mnt(e,t){y5e.call(this,e,t)}function vnt(e,t){y5e.call(this,e,t)}function Rq(e,t){y5e.call(this,e,t)}function yo(e,t){_s(e,t,e.c.b,e.c)}function P5(e,t){_s(e,t,e.a,e.a.a)}function xye(e){return Sn(e,0),null}function wnt(){this.b=0,this.a=!1}function ynt(){this.b=0,this.a=!1}function xnt(){this.b=new P8(Dy(12))}function knt(){knt=U,X7t=Kr(gue())}function Tnt(){Tnt=U,vxt=Kr(Obt())}function Ent(){Ent=U,zEt=Kr(f0t())}function kye(){kye=U,Hwe(),h_e=new Nr}function W0(e){return e.a=0,e.b=0,e}function Cnt(e,t){return e.a=t.g+1,e}function iae(e,t){yy.call(this,e,t)}function mn(e,t){ws.call(this,e,t)}function B5(e,t){vye.call(this,e,t)}function Snt(e,t){IO.call(this,e,t)}function sae(e,t){wT.call(this,e,t)}function yi(e,t){hq(),Ti(LY,e,t)}function _nt(e,t){e.q.setTime(Vm(t))}function Gln(e){b.clearTimeout(e)}function Kln(e){return Xr(e),new B_(e)}function Ant(e,t){return qe(e)===qe(t)}function Lnt(e,t){return e.a.a.a.cc(t)}function aae(e,t){return ef(e.a,0,t)}function Tye(e){return Xgn(l(e,74))}function $8(e){return da((tr(e),e))}function Wln(e){return da((tr(e),e))}function Mnt(e){return qu(e.l,e.m,e.h)}function Eye(e,t){return iu(e.a,t.a)}function Yln(e,t){return bat(e.a,t.a)}function Xln(e,t){return Xi(e.a,t.a)}function pd(e,t){return e.indexOf(t)}function Qln(e,t){return e.j[t.p]==2}function bw(e,t){return e==t?0:e?1:-1}function jq(e){return e<10?"0"+e:""+e}function xc(e){return typeof e===pTe}function Jln(e){return e==f3||e==l4}function Zln(e){return e==f3||e==u4}function Dnt(e,t){return iu(e.g,t.g)}function Cye(e){return bc(e.b.b,e,0)}function Int(){fH.call(this,0,0,0,0)}function bd(){vr.call(this,new u2)}function Sye(e,t){iT(e,0,e.length,t)}function ehn(e,t){return wt(e.a,t),t}function thn(e,t){return c0(),t.a+=e}function nhn(e,t){return c0(),t.a+=e}function rhn(e,t){return c0(),t.c+=e}function ihn(e,t){return wt(e.c,t),e}function _ye(e,t){return Dh(e.a,t),e}function Ont(e){this.a=Ttt(),this.b=e}function Nnt(e){this.a=Ttt(),this.b=e}function xo(e){this.a=e.a,this.b=e.b}function B_(e){this.a=e,KS.call(this)}function Pnt(e){this.a=e,KS.call(this)}function z8(){Zh.call(this,0,0,0,0)}function $q(e){return Dh(new Js,e)}function Bnt(e){return MH(l(e,123))}function ch(e){return e.vh()&&e.wh()}function F5(e){return e!=Z1&&e!=rm}function Yg(e){return e==hc||e==yc}function R5(e){return e==vf||e==Q1}function Fnt(e){return e==W6||e==K6}function shn(e,t){return iu(e.g,t.g)}function Rnt(e,t){return new wT(t,e)}function ahn(e,t){return new wT(t,e)}function Aye(e){return _dn(e.b.Kc(),e.a)}function oae(e,t){_T(e,t),fT(e,e.D)}function cae(e,t,n){yU(e,t),wU(e,n)}function j5(e,t,n){Rw(e,t),Fw(e,n)}function Xh(e,t,n){Vu(e,t),Gu(e,n)}function LO(e,t,n){cT(e,t),lT(e,n)}function MO(e,t,n){uT(e,t),hT(e,n)}function jnt(e,t,n){l4e.call(this,e,t,n)}function Lye(e){snt.call(this,e,!0)}function $nt(){gq.call(this,"Tail",3)}function znt(){gq.call(this,"Head",1)}function bb(e){Cd(),z3n.call(this,e)}function mw(e){fH.call(this,e,e,e,e)}function uae(e){e.c=We(ka,jn,1,0,5,1)}function Mye(e){return e.b&&Ale(e),e.a}function Dye(e){return e.b&&Ale(e),e.c}function ohn(e,t){G1||(e.b=t)}function chn(e,t){return e[e.length]=t}function uhn(e,t){return e[e.length]=t}function lhn(e,t){return Iy(t,M1(e))}function hhn(e,t){return Iy(t,M1(e))}function fhn(e,t){return CU(soe(e.d),t)}function dhn(e,t){return CU(soe(e.g),t)}function ghn(e,t){return CU(soe(e.j),t)}function qa(e,t){ws.call(this,e.b,t)}function phn(e,t){zr(fu(e.a),cct(t))}function bhn(e,t){zr(Kl(e.a),uct(t))}function mhn(e,t,n){Xh(n,n.i+e,n.j+t)}function qnt(e,t,n){Ss(e.c[t.g],t.g,n)}function vhn(e,t,n){l(e.c,71).Gi(t,n)}function lae(e,t,n){return Ss(e,t,n),n}function Hnt(e){Uu(e.Sf(),new Uie(e))}function $5(e){return e!=null?ts(e):0}function whn(e){return e==null?0:ts(e)}function F_(e){Ii(),rw.call(this,e)}function Unt(e){this.a=e,V4e.call(this,e)}function A1(){A1=U,b.Math.log(2)}function Qh(){Qh=U,Lg=(Ket(),tAt)}function Vnt(){Vnt=U,Ude=new MA(ipe)}function Jr(){Jr=U,new Gnt,new mt}function Gnt(){new Nr,new Nr,new Nr}function yhn(){throw ue(new Jp(_6t))}function xhn(){throw ue(new Jp(_6t))}function khn(){throw ue(new Jp(A6t))}function Thn(){throw ue(new Jp(A6t))}function hae(e){this.a=e,nq.call(this,e)}function fae(e){this.a=e,nq.call(this,e)}function Knt(e,t){Sw(),this.a=e,this.b=t}function Ehn(e,t){Xr(t),G5(e).Jc(new ie)}function Gs(e,t){Hae(e.c,e.c.length,t)}function Oc(e){return e.at?1:0}function Oye(e,t){return su(e,t)>0?e:t}function qu(e,t,n){return{l:e,m:t,h:n}}function Chn(e,t){e.a!=null&&ont(t,e.a)}function Shn(e){ho(e,null),Na(e,null)}function _hn(e,t,n){return Ti(e.g,n,t)}function z5(e,t,n){return nxe(t,n,e.c)}function Ahn(e,t,n){return Ti(e.k,n,t)}function Lhn(e,t,n){return gDn(e,t,n),n}function Mhn(e,t){return Sh(),t.n.b+=e}function Ynt(e){n6e.call(this),this.b=e}function Nye(e){x4e.call(this),this.a=e}function Xnt(){gq.call(this,"Range",2)}function zq(e){this.b=e,this.a=new mt}function Qnt(e){this.b=new Bo,this.a=e}function Jnt(e){e.a=new Tt,e.c=new Tt}function Znt(e){e.a=new Nr,e.d=new Nr}function ert(e){_oe(e,null),Aoe(e,null)}function trt(e,t){return bDn(e.a,t,null)}function Dhn(e,t){return Ti(e.a,t.a,t)}function Xa(e){return new lt(e.a,e.b)}function Pye(e){return new lt(e.c,e.d)}function Ihn(e){return new lt(e.c,e.d)}function R_(e,t){return AMn(e.c,e.b,t)}function De(e,t){return e!=null&&vue(e,t)}function dae(e,t){return xyn(e.Kc(),t)!=-1}function qq(e){return e.Ob()?e.Pb():null}function Ohn(e){this.b=(Cn(),new er(e))}function Bye(e){this.a=e,Nr.call(this)}function nrt(){IO.call(this,null,null)}function rrt(){Yq.call(this,null,null)}function irt(){Vr.call(this,"INSTANCE",0)}function srt(){Pxe(),this.a=new GA(IAe)}function art(e){return If(e,0,e.length)}function Nhn(e,t){return new Ert(e.Kc(),t)}function Fye(e,t){return e.a.Bc(t)!=null}function ort(e,t){$r(e),e.Gc(l(t,15))}function Phn(e,t,n){e.c.bd(t,l(n,136))}function Bhn(e,t,n){e.c.Ui(t,l(n,136))}function crt(e,t){e.c&&(i5e(t),Not(t))}function Fhn(e,t){e.q.setHours(t),QA(e,t)}function Rhn(e,t){yw(t,e.a.a.a,e.a.a.b)}function jhn(e,t,n,r){Ss(e.a[t.g],n.g,r)}function gae(e,t,n){return e.a[t.g][n.g]}function $hn(e,t){return e.e[t.c.p][t.p]}function zhn(e,t){return e.c[t.c.p][t.p]}function L1(e,t){return e.a[t.c.p][t.p]}function qhn(e,t){return e.j[t.p]=ZEn(t)}function pae(e,t){return e.a.Bc(t)!=null}function Hhn(e,t){return ze(Ge(t.a))<=e}function Uhn(e,t){return ze(Ge(t.a))>=e}function Vhn(e,t){return z6e(e.f,t.Pg())}function q8(e,t){return e.a*t.a+e.b*t.b}function Ghn(e,t){return e.a0?t/(e*e):t*100}function mfn(e,t){return e>0?t*t/e:t*t*100}function by(e,t){return l(B1(e.a,t),34)}function vfn(e,t){return Nb(),xn(e,t.e,t)}function wfn(e,t,n){return cq(),n.Mg(e,t)}function yfn(e){return sp(),e.e.a+e.f.a/2}function xfn(e,t,n){return sp(),n.e.a-e*t}function kfn(e){return sp(),e.e.b+e.f.b/2}function Tfn(e,t,n){return sp(),n.e.b-e*t}function Rrt(e){e.d=new Prt(e),e.e=new Nr}function jrt(){this.a=new Iw,this.b=new Iw}function $rt(e){this.c=e,this.a=1,this.b=1}function zrt(e){Ule(),nJe(this),this.Ff(e)}function Efn(e,t,n){aU(),e.pf(t)&&n.Cd(e)}function Cfn(e,t,n){return wt(t,J1t(e,n))}function yw(e,t,n){return e.a+=t,e.b+=n,e}function Sfn(e,t,n){return e.a*=t,e.b*=n,e}function t4e(e,t){return e.a=t.a,e.b=t.b,e}function Xq(e){return e.a=-e.a,e.b=-e.b,e}function q_(e,t,n){return e.a-=t,e.b-=n,e}function qrt(e){os.call(this),dA(this,e)}function Hrt(){Vr.call(this,"GROW_TREE",0)}function Urt(){Vr.call(this,"POLYOMINO",0)}function lh(e,t,n){yl.call(this,e,t,n,2)}function _fn(e,t,n){AA(fu(e.a),t,cct(n))}function Vrt(e,t){y_(),IO.call(this,e,t)}function n4e(e,t){r2(),Yq.call(this,e,t)}function Grt(e,t){r2(),n4e.call(this,e,t)}function Krt(e,t){r2(),Yq.call(this,e,t)}function Afn(e,t){return e.c.Fc(l(t,136))}function Lfn(e,t,n){AA(Kl(e.a),t,uct(n))}function Wrt(e){this.c=e,Vu(e,0),Gu(e,0)}function xae(e,t){Qh(),pH.call(this,e,t)}function Yrt(e,t){Qh(),xae.call(this,e,t)}function r4e(e,t){Qh(),xae.call(this,e,t)}function i4e(e,t){Qh(),pH.call(this,e,t)}function Xrt(e,t){Qh(),r4e.call(this,e,t)}function Qrt(e,t){Qh(),i4e.call(this,e,t)}function Jrt(e,t){Qh(),pH.call(this,e,t)}function Mfn(e,t,n){return t.zl(e.e,e.c,n)}function Dfn(e,t,n){return t.Al(e.e,e.c,n)}function s4e(e,t,n){return QV(vN(e,t),n)}function kae(e,t){return Lb(e.e,l(t,54))}function Ifn(e){return e==null?null:rIn(e)}function Ofn(e){return e==null?null:X9n(e)}function Nfn(e){return e==null?null:Tc(e)}function Pfn(e){return e==null?null:Tc(e)}function Pt(e){return V_(e==null||gy(e)),e}function Ge(e){return V_(e==null||py(e)),e}function Zr(e){return V_(e==null||Da(e)),e}function Xg(e){e.o==null&&AEn(e)}function a4e(e){if(!e)throw ue(new rO)}function Bfn(e){if(!e)throw ue(new Jie)}function br(e){if(!e)throw ue(new Dc)}function my(e){if(!e)throw ue(new gl)}function Zrt(e){if(!e)throw ue(new Yh)}function jk(){jk=U,yF=new NJe,new PJe}function V5(){V5=U,Q6=new Ki("root")}function o4e(){Pft.call(this),this.Bb|=Lo}function Ffn(e,t){this.d=e,Lr(this),this.b=t}function c4e(e,t){Yoe.call(this,e),this.a=t}function u4e(e,t){Yoe.call(this,e),this.a=t}function l4e(e,t,n){nU.call(this,e,t,n,null)}function eit(e,t,n){nU.call(this,e,t,n,null)}function PO(e,t){this.c=e,Dk.call(this,e,t)}function H_(e,t){this.a=e,PO.call(this,e,t)}function h4e(e){this.q=new b.Date(Vm(e))}function tit(e){return e>8?0:e+1}function nit(e,t){G1||wt(e.a,t)}function Rfn(e,t){return dO(),vT(t.d.i,e)}function jfn(e,t){return hx(),new Imt(t,e)}function $fn(e,t,n){return e.Ne(t,n)<=0?n:t}function zfn(e,t,n){return e.Ne(t,n)<=0?t:n}function qfn(e,t){return l(B1(e.b,t),143)}function Hfn(e,t){return l(B1(e.c,t),233)}function Tae(e){return l(Rt(e.a,e.b),294)}function rit(e){return new lt(e.c,e.d+e.a)}function iit(e){return tr(e),e?1231:1237}function sit(e){return Sh(),Fnt(l(e,203))}function vy(){vy=U,aAe=hn((gh(),Ov))}function Ufn(e,t){t.a?WTn(e,t):pae(e.a,t.b)}function BO(e,t,n){++e.j,e.tj(),Woe(e,t,n)}function ait(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function oit(e,t,n){var r;r=e.fd(t),r.Rb(n)}function f4e(e,t,n){return n=Nh(e,t,6,n),n}function d4e(e,t,n){return n=Nh(e,t,3,n),n}function g4e(e,t,n){return n=Nh(e,t,9,n),n}function vd(e,t){return ZO(t,RTe),e.f=t,e}function p4e(e,t){return(t&Ni)%e.d.length}function cit(e,t,n){return Wke(e.c,e.b,t,n)}function uit(e,t){this.c=e,Bw.call(this,t)}function lit(e,t){this.a=e,WQe.call(this,t)}function FO(e,t){this.a=e,WQe.call(this,t)}function ws(e,t){Ki.call(this,e),this.a=t}function b4e(e,t){jwe.call(this,e),this.a=t}function Eae(e,t){jwe.call(this,e),this.a=t}function Vfn(e){X8e.call(this,0,0),this.f=e}function hit(e,t,n){return e.a+=If(t,0,n),e}function RO(e){return!e.a&&(e.a=new pe),e.a}function m4e(e,t){var n;return n=e.e,e.e=t,n}function v4e(e,t){var n;return n=t,!!e.Fe(n)}function Gfn(e,t){return Hn(),e==t?0:e?1:-1}function wy(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function jO(e){e.b?jO(e.b):e.f.c.zc(e.e,e.d)}function fit(e){Dl(e.e),e.d.b=e.d,e.d.a=e.d}function Kfn(e,t,n){Bm(),Fie(e,t.Ve(e.a,n))}function w4e(e,t,n){return J8(e,l(t,22),n)}function o0(e,t){return Qz(new Array(t),e)}function Wfn(e){return Yr(vb(e,32))^Yr(e)}function Cae(e){return String.fromCharCode(e)}function Yfn(e){return e==null?null:e.message}function Xfn(e,t,n){return e.apply(t,n)}function Qfn(e,t){var n;n=e[Ehe],n.call(e,t)}function Jfn(e,t){var n;n=e[Ehe],n.call(e,t)}function Zfn(e,t){return dO(),!vT(t.d.i,e)}function y4e(e,t,n,r){fH.call(this,e,t,n,r)}function dit(){Qq.call(this),this.a=new za}function x4e(){this.n=new za,this.o=new za}function git(){this.b=new za,this.c=new mt}function pit(){this.a=new mt,this.b=new mt}function bit(){this.a=new Em,this.b=new fJe}function k4e(){this.b=new u2,this.a=new u2}function mit(){this.b=new Ys,this.a=new Ys}function vit(){this.b=new Nr,this.a=new Nr}function wit(){this.b=new HZe,this.a=new SS}function yit(){this.a=new cie,this.b=new qee}function xit(){this.a=new mt,this.d=new mt}function Qq(){this.n=new L8,this.i=new z8}function kit(e){this.a=(Mh(e,Jy),new Pu(e))}function Tit(e){this.a=(Mh(e,Jy),new Pu(e))}function e0n(e){return e<100?null:new hb(e)}function t0n(e,t){return e.n.a=(tr(t),t+10)}function n0n(e,t){return e.n.a=(tr(t),t+10)}function r0n(e,t){return t==e||zT(NV(t),e)}function Eit(e,t){return Ti(e.a,t,"")==null}function i0n(e,t){var n;return n=t.qi(e.a),n}function Pi(e,t){return e.a+=t.a,e.b+=t.b,e}function ya(e,t){return e.a-=t.a,e.b-=t.b,e}function s0n(e){return uy(e.j.c,0),e.a=-1,e}function T4e(e,t,n){return n=Nh(e,t,11,n),n}function a0n(e,t,n){n!=null&&SU(t,Lue(e,n))}function o0n(e,t,n){n!=null&&_U(t,Lue(e,n))}function V8(e,t,n,r){nt.call(this,e,t,n,r)}function E4e(e,t,n,r){nt.call(this,e,t,n,r)}function Cit(e,t,n,r){E4e.call(this,e,t,n,r)}function Sit(e,t,n,r){kH.call(this,e,t,n,r)}function Sae(e,t,n,r){kH.call(this,e,t,n,r)}function C4e(e,t,n,r){kH.call(this,e,t,n,r)}function _it(e,t,n,r){Sae.call(this,e,t,n,r)}function S4e(e,t,n,r){Sae.call(this,e,t,n,r)}function An(e,t,n,r){C4e.call(this,e,t,n,r)}function Ait(e,t,n,r){S4e.call(this,e,t,n,r)}function Lit(e,t,n,r){E5e.call(this,e,t,n,r)}function yy(e,t){rc.call(this,SL+e+gv+t)}function _4e(e,t){return e.jk().wi().ri(e,t)}function A4e(e,t){return e.jk().wi().ti(e,t)}function Mit(e,t){return tr(e),qe(e)===qe(t)}function wn(e,t){return tr(e),qe(e)===qe(t)}function c0n(e,t){return e.b.Bd(new Zet(e,t))}function u0n(e,t){return e.b.Bd(new ett(e,t))}function Dit(e,t){return e.b.Bd(new ttt(e,t))}function l0n(e,t){return e.e=l(e.d.Kb(t),159)}function L4e(e,t,n){return e.lastIndexOf(t,n)}function h0n(e,t,n){return Xi(e[t.a],e[n.a])}function f0n(e,t){return rt(t,(Nt(),IB),e)}function d0n(e,t){return iu(t.a.d.p,e.a.d.p)}function g0n(e,t){return iu(e.a.d.p,t.a.d.p)}function p0n(e,t){return Xi(e.c-e.s,t.c-t.s)}function b0n(e,t){return Xi(e.b.e.a,t.b.e.a)}function m0n(e,t){return Xi(e.c.e.a,t.c.e.a)}function Iit(e){return e.c?bc(e.c.a,e,0):-1}function G8(e){return e==Iv||e==_g||e==Au}function M4e(e,t){this.c=e,Zae.call(this,e,t)}function Oit(e,t,n){this.a=e,Jye.call(this,t,n)}function Nit(e){this.c=e,Rq.call(this,DP,0)}function Pit(e,t,n){this.c=t,this.b=n,this.a=e}function $O(e){zk(),this.d=e,this.a=new H5}function Bit(e){wd(),this.a=(Cn(),new Ck(e))}function v0n(e,t){Yg(e.f)?yEn(e,t):Qxn(e,t)}function Fit(e,t){Ddn.call(this,e,e.length,t)}function w0n(e,t){G1||t&&(e.d=t)}function Rit(e,t){return De(t,15)&&fmt(e.c,t)}function y0n(e,t,n){return l(e.c,71).Wk(t,n)}function Jq(e,t,n){return l(e.c,71).Xk(t,n)}function x0n(e,t,n){return Mfn(e,l(t,343),n)}function D4e(e,t,n){return Dfn(e,l(t,343),n)}function k0n(e,t,n){return spt(e,l(t,343),n)}function jit(e,t,n){return l9n(e,l(t,343),n)}function U_(e,t){return t==null?null:By(e.b,t)}function I4e(e){return py(e)?(tr(e),e):e.ue()}function Zq(e){return!isNaN(e)&&!isFinite(e)}function _ae(e){Jnt(this),Ch(this),Ga(this,e)}function Ml(e){uae(this),W4e(this.c,0,e.Pc())}function Jh(e,t,n){this.a=e,this.b=t,this.c=n}function $it(e,t,n){this.a=e,this.b=t,this.c=n}function zit(e,t,n){this.d=e,this.b=n,this.a=t}function qit(e){this.a=e,Wg(),tu(Date.now())}function Hit(e){fh(e.a),K6e(e.c,e.b),e.b=null}function Aae(){Aae=U,O_e=new Et,r7t=new Wt}function Uit(){Uit=U,aAt=We(ka,jn,1,0,5,1)}function Vit(){Vit=U,EAt=We(ka,jn,1,0,5,1)}function O4e(){O4e=U,CAt=We(ka,jn,1,0,5,1)}function wd(){wd=U,new qwe((Cn(),Cn(),Co))}function T0n(e){return sT(),Gr((Qlt(),a7t),e)}function E0n(e){return Nl(),Gr((zlt(),f7t),e)}function C0n(e){return aV(),Gr((Sut(),v7t),e)}function S0n(e){return dU(),Gr((_ut(),w7t),e)}function _0n(e){return qV(),Gr((S0t(),y7t),e)}function A0n(e){return e1(),Gr((jlt(),T7t),e)}function L0n(e){return Ol(),Gr((Rlt(),C7t),e)}function M0n(e){return al(),Gr(($lt(),_7t),e)}function D0n(e){return nG(),Gr((knt(),X7t),e)}function I0n(e){return qw(),Gr((Zlt(),J7t),e)}function O0n(e){return mx(),Gr((tht(),e8t),e)}function N0n(e){return PA(),Gr((eht(),r8t),e)}function P0n(e){return aq(),Gr((Jct(),i8t),e)}function B0n(e){return gU(),Gr((Aut(),x8t),e)}function F0n(e){return hA(),Gr((qlt(),K8t),e)}function R0n(e){return so(),Gr((Bht(),Q8t),e)}function j0n(e){return xT(),Gr((rht(),nxt),e)}function $0n(e){return tv(),Gr((nht(),cxt),e)}function N4e(e,t){if(!e)throw ue(new Wn(t))}function $k(e){if(!e)throw ue(new ic(bTe))}function Lae(e,t){if(e!=t)throw ue(new Yh)}function Git(e,t,n){this.a=e,this.b=t,this.c=n}function P4e(e,t,n){this.a=e,this.b=t,this.c=n}function Kit(e,t,n){this.a=e,this.b=t,this.c=n}function eH(e,t,n){this.b=e,this.a=t,this.c=n}function B4e(e,t,n){this.b=e,this.c=t,this.a=n}function F4e(e,t,n){this.a=e,this.b=t,this.c=n}function tH(e,t,n){this.e=t,this.b=e,this.d=n}function Wit(e,t,n){this.b=e,this.a=t,this.c=n}function z0n(e,t,n){return Bm(),e.a.Yd(t,n),t}function Mae(e){var t;return t=new Ul,t.e=e,t}function R4e(e){var t;return t=new mJe,t.b=e,t}function zO(){zO=U,IK=new LZ,OK=new yj}function nH(){nH=U,Txt=new $Z,kxt=new mS}function c0(){c0=U,Axt=new vee,Lxt=new wee}function q0n(e){return $w(),Gr((wlt(),jxt),e)}function H0n(e){return po(),Gr((Tnt(),vxt),e)}function U0n(e){return jU(),Gr((sht(),xxt),e)}function V0n(e){return R1(),Gr((iht(),Ixt),e)}function G0n(e){return zy(),Gr((Fht(),Nxt),e)}function K0n(e){return $V(),Gr((h0t(),$xt),e)}function W0n(e){return xx(),Gr((cft(),zxt),e)}function Y0n(e){return sU(),Gr((Put(),qxt),e)}function X0n(e){return gA(),Gr((mlt(),Hxt),e)}function Q0n(e){return kU(),Gr((vlt(),Uxt),e)}function J0n(e){return w2(),Gr((Rht(),Vxt),e)}function Z0n(e){return TN(),Gr((Dut(),Gxt),e)}function e1n(e){return HT(),Gr((hft(),Jxt),e)}function t1n(e){return Ho(),Gr((q0t(),Zxt),e)}function n1n(e){return yT(),Gr((xlt(),e9t),e)}function r1n(e){return ip(),Gr((klt(),n9t),e)}function i1n(e){return WH(),Gr((Mut(),r9t),e)}function s1n(e){return nP(),Gr((lft(),Qxt),e)}function a1n(e){return Jm(),Gr((ylt(),Wxt),e)}function o1n(e){return _V(),Gr((uft(),Yxt),e)}function c1n(e){return bN(),Gr((Iut(),Xxt),e)}function u1n(e){return lf(),Gr(($ht(),i9t),e)}function l1n(e){return E2(),Gr((T0t(),ATt),e)}function h1n(e){return EA(),Gr((Tlt(),LTt),e)}function f1n(e){return jy(),Gr((aht(),MTt),e)}function d1n(e){return NA(),Gr((jht(),DTt),e)}function g1n(e){return Nf(),Gr((H0t(),ITt),e)}function p1n(e){return Td(),Gr((oht(),OTt),e)}function b1n(e){return xN(),Gr((Out(),NTt),e)}function m1n(e){return qo(),Gr((Slt(),BTt),e)}function v1n(e){return BU(),Gr((Elt(),FTt),e)}function w1n(e){return xA(),Gr((Clt(),RTt),e)}function y1n(e){return AT(),Gr((_lt(),jTt),e)}function x1n(e){return xU(),Gr((Alt(),$Tt),e)}function k1n(e){return $U(),Gr((Llt(),zTt),e)}function T1n(e){return jw(),Gr((Flt(),rEt),e)}function E1n(e){return cA(),Gr((Nut(),cEt),e)}function C1n(e){return xd(),Gr((Rut(),pEt),e)}function S1n(e){return D1(),Gr((jut(),mEt),e)}function _1n(e){return Q0(),Gr(($ut(),IEt),e)}function A1n(e){return Ow(),Gr((zut(),jEt),e)}function L1n(e){return yx(),Gr((ght(),$Et),e)}function M1n(e){return YA(),Gr((Ent(),zEt),e)}function D1n(e){return kA(),Gr((Mlt(),qEt),e)}function I1n(e){return TA(),Gr((dht(),hCt),e)}function O1n(e){return VH(),Gr((But(),fCt),e)}function N1n(e){return LU(),Gr((Fut(),mCt),e)}function P1n(e){return TV(),Gr((zht(),wCt),e)}function B1n(e){return FN(),Gr((Dlt(),xCt),e)}function F1n(e){return oU(),Gr((qut(),yCt),e)}function R1n(e){return bV(),Gr((fht(),zCt),e)}function j1n(e){return PU(),Gr((Ilt(),qCt),e)}function $1n(e){return tV(),Gr((Olt(),HCt),e)}function z1n(e){return fV(),Gr((Nlt(),VCt),e)}function q1n(e){return YU(),Gr((Plt(),WCt),e)}function H1n(e){return ZH(),Gr((Hut(),pSt),e)}function U1n(e){return pT(),Gr((Lut(),mxt),e)}function V1n(e){return Jn(),Gr((fft(),fxt),e)}function G1n(e){return cU(),Gr((Blt(),bSt),e)}function K1n(e){return Sce(),Gr((Uut(),mSt),e)}function W1n(e){return VA(),Gr((qht(),wSt),e)}function Y1n(e){return uq(),Gr((aut(),xSt),e)}function X1n(e){return HN(),Gr((Ult(),ySt),e)}function Q1n(e){return lq(),Gr((out(),TSt),e)}function J1n(e){return hN(),Gr((Vut(),ESt),e)}function Z1n(e){return iP(),Gr((Hht(),CSt),e)}function edn(e){return m_(),Gr((cut(),zSt),e)}function tdn(e){return ON(),Gr((Gut(),qSt),e)}function ndn(e){return n1(),Gr((Vht(),WSt),e)}function rdn(e){return T2(),Gr((u0t(),XSt),e)}function idn(e){return lg(),Gr((dft(),QSt),e)}function sdn(e){return rv(),Gr((gft(),r_t),e)}function adn(e){return ea(),Gr((Uht(),k_t),e)}function odn(e){return F1(),Gr((Vlt(),T_t),e)}function cdn(e){return cp(),Gr((pht(),E_t),e)}function udn(e){return CV(),Gr((pft(),C_t),e)}function ldn(e){return op(),Gr((Hlt(),__t),e)}function hdn(e){return Ih(),Gr((bht(),L_t),e)}function fdn(e){return Vy(),Gr((C0t(),M_t),e)}function ddn(e){return r6(),Gr((Ght(),D_t),e)}function gdn(e){return Pa(),Gr((bft(),I_t),e)}function pdn(e){return Pl(),Gr((mft(),O_t),e)}function bdn(e){return _t(),Gr((Kht(),N_t),e)}function mdn(e){return gh(),Gr((mht(),j_t),e)}function vdn(e){return Xl(),Gr((E0t(),$_t),e)}function wdn(e){return gx(),Gr((Glt(),z_t),e)}function ydn(e,t){return tr(e),e+(tr(t),t)}function xdn(e){return Dae(),Gr((Kut(),q_t),e)}function kdn(e){return QU(),Gr((vht(),H_t),e)}function Tdn(e){return zU(),Gr((wht(),G_t),e)}function zk(){zk=U,iIe=(_t(),Zn),RW=sr}function Dae(){Dae=U,xPe=new Est,kPe=new uat}function Edn(e){return!e.e&&(e.e=new mt),e.e}function Iae(e,t){this.c=e,this.a=t,this.b=t-e}function Yit(e,t,n){this.a=e,this.b=t,this.c=n}function Oae(e,t,n){this.a=e,this.b=t,this.c=n}function j4e(e,t,n){this.a=e,this.b=t,this.c=n}function $4e(e,t,n){this.a=e,this.b=t,this.c=n}function Xit(e,t,n){this.a=e,this.b=t,this.c=n}function Qit(e,t,n){this.a=e,this.b=t,this.c=n}function s2(e,t,n){this.e=e,this.a=t,this.c=n}function Jit(e,t,n){Qh(),i6e.call(this,e,t,n)}function Nae(e,t,n){Qh(),z5e.call(this,e,t,n)}function z4e(e,t,n){Qh(),z5e.call(this,e,t,n)}function q4e(e,t,n){Qh(),z5e.call(this,e,t,n)}function Zit(e,t,n){Qh(),Nae.call(this,e,t,n)}function H4e(e,t,n){Qh(),Nae.call(this,e,t,n)}function est(e,t,n){Qh(),H4e.call(this,e,t,n)}function tst(e,t,n){Qh(),z4e.call(this,e,t,n)}function nst(e,t,n){Qh(),q4e.call(this,e,t,n)}function Pae(e){fH.call(this,e.d,e.c,e.a,e.b)}function U4e(e){fH.call(this,e.d,e.c,e.a,e.b)}function V4e(e){this.d=e,Lr(this),this.b=Tgn(e.d)}function Cdn(e){return VT(),Gr((l0t(),sAt),e)}function qO(e,t){return Xr(e),Xr(t),new cet(e,t)}function K8(e,t){return Xr(e),Xr(t),new pst(e,t)}function Sdn(e,t){return Xr(e),Xr(t),new bst(e,t)}function _dn(e,t){return Xr(e),Xr(t),new vet(e,t)}function Bae(e){return br(e.b!=0),sf(e,e.a.a)}function Adn(e){return br(e.b!=0),sf(e,e.c.b)}function Ldn(e){return!e.c&&(e.c=new Zd),e.c}function qk(e){var t;return t=new mt,ace(t,e),t}function Mdn(e){var t;return t=new Ys,ace(t,e),t}function rst(e){var t;return t=new Kwe,wce(t,e),t}function HO(e){var t;return t=new os,wce(t,e),t}function l(e,t){return V_(e==null||vue(e,t)),e}function Ddn(e,t,n){nat.call(this,t,n),this.a=e}function ist(e,t){this.c=e,this.b=t,this.a=!1}function sst(){this.a=";,;",this.b="",this.c=""}function ast(e,t,n){this.b=e,mnt.call(this,t,n)}function G4e(e,t,n){this.c=e,pq.call(this,t,n)}function K4e(e,t,n){Nk.call(this,e,t),this.b=n}function W4e(e,t,n){$9e(n,0,e,t,n.length,!1)}function ig(e,t,n,r,s){e.b=t,e.c=n,e.d=r,e.a=s}function Y4e(e,t,n,r,s){e.d=t,e.c=n,e.a=r,e.b=s}function Idn(e,t){t&&(e.b=t,e.a=(xb(t),t.a))}function UO(e,t){if(!e)throw ue(new Wn(t))}function W8(e,t){if(!e)throw ue(new ic(t))}function X4e(e,t){if(!e)throw ue(new fZe(t))}function Odn(e,t){return oq(),iu(e.d.p,t.d.p)}function Ndn(e,t){return sp(),Xi(e.e.b,t.e.b)}function Pdn(e,t){return sp(),Xi(e.e.a,t.e.a)}function Bdn(e,t){return iu(xst(e.d),xst(t.d))}function rH(e,t){return t&&_H(e,t.d)?t:null}function Fdn(e,t){return t==(_t(),Zn)?e.c:e.d}function Q4e(e){return Sb(Bgn(xc(e)?Mf(e):e))}function Rdn(e){return new lt(e.c+e.b,e.d+e.a)}function ost(e){return e!=null&&!rue(e,zM,qM)}function jdn(e,t){return(j1t(e)<<4|j1t(t))&ta}function cst(e,t,n,r,s){e.c=t,e.d=n,e.b=r,e.a=s}function J4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function Z4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function $dn(e,t){var n;return n=e.c,D7e(e,t),n}function e5e(e,t){return t<0?e.g=-1:e.g=t,e}function iH(e,t){return Wwn(e),e.a*=t,e.b*=t,e}function ust(e,t,n){rft.call(this,t,n),this.d=e}function VO(e,t,n){wye.call(this,e,t),this.c=n}function sH(e,t,n){wye.call(this,e,t),this.c=n}function t5e(e){O4e(),w5.call(this),this.ci(e)}function lst(){nT(),opn.call(this,(db(),Gf))}function hst(e){return Ii(),new sg(0,e)}function fst(){fst=U,wpe=(Cn(),new Ma(k0e))}function aH(){aH=U,new fxe((ase(),N0e),(sse(),O0e))}function dst(){dst=U,w_e=We(to,dt,17,256,0,1)}function gst(){this.b=ze(Ge(It((p0(),d1e))))}function Fae(e){this.b=e,this.a=Rm(this.b.a).Od()}function pst(e,t){this.b=e,this.a=t,KS.call(this)}function bst(e,t){this.a=e,this.b=t,KS.call(this)}function mst(e,t,n){this.a=e,B5.call(this,t,n)}function vst(e,t,n){this.a=e,B5.call(this,t,n)}function Hk(e,t,n){var r;r=new Ty(n),Z0(e,t,r)}function n5e(e,t,n){var r;return r=e[t],e[t]=n,r}function oH(e){var t;return t=e.slice(),Zoe(t,e)}function cH(e){var t;return t=e.n,e.a.b+t.d+t.a}function wst(e){var t;return t=e.n,e.e.b+t.d+t.a}function r5e(e){var t;return t=e.n,e.e.a+t.b+t.c}function i5e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function ci(e,t){return _s(e,t,e.c.b,e.c),!0}function zdn(e){return e.a?e.a:hoe(e)}function qdn(e){return nx(),hg(e)==ds(Ib(e))}function Hdn(e){return nx(),Ib(e)==ds(hg(e))}function xw(e,t){return jA(e,new Nk(t.a,t.b))}function Udn(e,t){return LH(),Sue(e,t),new zat(e,t)}function Vdn(e,t){return e.c=t)throw ue(new e3e)}function xy(e,t){return zN(e,(tr(t),new wo(t)))}function X8(e,t){return zN(e,(tr(t),new oh(t)))}function iat(e,t,n){return mOn(e,l(t,12),l(n,12))}function sat(e){return xl(),l(e,12).g.c.length!=0}function aat(e){return xl(),l(e,12).e.c.length!=0}function Lgn(e,t){return hx(),Xi(t.a.o.a,e.a.o.a)}function Mgn(e,t){t.Bb&nu&&!e.a.o&&(e.a.o=t)}function Dgn(e,t){t.Ug("General 'Rotator",1),VDn(e)}function Ign(e,t,n){t.qf(n,ze(Ge(or(e.b,n)))*e.a)}function oat(e,t,n){return d6(),bT(e,t)&&bT(e,n)}function Y_(e){return Pl(),!e.Hc(kp)&&!e.Hc(im)}function Ogn(e){return e.e?V6e(e.e):null}function X_(e){return xc(e)?""+e:hmt(e)}function T5e(e){var t;for(t=e;t.f;)t=t.f;return t}function Ngn(e,t,n){return Ss(t,0,u5e(t[0],n[0])),t}function a2(e,t,n,r){var s;s=e.i,s.i=t,s.a=n,s.b=r}function nt(e,t,n,r){Qs.call(this,e,t,n),this.b=r}function _a(e,t,n,r,s){Qoe.call(this,e,t,n,r,s,-1)}function Q_(e,t,n,r,s){dN.call(this,e,t,n,r,s,-1)}function kH(e,t,n,r){VO.call(this,e,t,n),this.b=r}function cat(e){snt.call(this,e,!1),this.a=!1}function uat(){Rtt.call(this,"LOOKAHEAD_LAYOUT",1)}function lat(e){this.b=e,H8.call(this,e),prt(this)}function hat(e){this.b=e,OO.call(this,e),brt(this)}function ky(e,t,n){this.a=e,V8.call(this,t,n,5,6)}function E5e(e,t,n,r){this.b=e,Qs.call(this,t,n,r)}function fat(e,t){this.b=e,Gg.call(this,e.b),this.a=t}function dat(e){this.a=Xdt(e.a),this.b=new Ml(e.b)}function C5e(e,t){Sw(),hln.call(this,e,VU(new Ll(t)))}function TH(e,t){return Ii(),new $5e(e,t,0)}function Xae(e,t){return Ii(),new $5e(6,e,t)}function Qa(e,t){for(tr(t);e.Ob();)t.Cd(e.Pb())}function Hu(e,t){return Da(t)?woe(e,t):!!zo(e.f,t)}function Qae(e,t){return t.Vh()?Lb(e.b,l(t,54)):t}function Pgn(e,t){return wn(e.substr(0,t.length),t)}function ag(e){return new lr(new Gye(e.a.length,e.a))}function EH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function Bgn(e){return qu(~e.l&Ql,~e.m&Ql,~e.h&pp)}function Jae(e){return typeof e===_P||typeof e===Kle}function Dl(e){e.f=new Ont(e),e.i=new Nnt(e),++e.g}function gat(e){if(!e)throw ue(new Dc);return e.d}function Q8(e){var t;return t=yA(e),br(t!=null),t}function Fgn(e){var t;return t=Z4n(e),br(t!=null),t}function Vk(e,t){var n;return n=e.a.gc(),$6e(t,n),n-t}function sa(e,t){var n;return n=e.a.zc(t,e),n==null}function KO(e,t){return e.a.zc(t,(Hn(),Ub))==null}function S5e(e){return new vn(null,qgn(e,e.length))}function _5e(e,t,n){return Pvt(e,l(t,42),l(n,176))}function J8(e,t,n){return f0(e.a,t),n5e(e.b,t.g,n)}function Rgn(e,t,n){Uk(n,e.a.c.length),nf(e.a,n,t)}function Ue(e,t,n,r){f1t(t,n,e.length),jgn(e,t,n,r)}function jgn(e,t,n,r){var s;for(s=t;s0?b.Math.log(e/t):-100}function bat(e,t){return su(e,t)<0?-1:su(e,t)>0?1:0}function WO(e,t){ort(e,De(t,160)?t:l(t,2036).Rl())}function D5e(e,t){if(e==null)throw ue(new I8(t))}function qgn(e,t){return Uwn(t,e.length),new Tst(e,t)}function I5e(e,t){return t?Ga(e,t):!1}function Hgn(){return Kz(),he(le(B6t,1),it,549,0,[F0e])}function Z_(e){return e.e==0?e:new $m(-e.e,e.d,e.a)}function Ugn(e,t){return Xi(e.c.c+e.c.b,t.c.c+t.c.b)}function YO(e,t){_s(e.d,t,e.b.b,e.b),++e.a,e.c=null}function mat(e,t){return e.c?mat(e.c,t):wt(e.b,t),e}function Vgn(e,t,n){var r;return r=My(e,t),Poe(e,t,n),r}function vat(e,t,n){var r;for(r=0;r=e.g}function Ss(e,t,n){return Bfn(n==null||DAn(e,n)),e[t]=n}function F5e(e,t){return Yn(t,e.length+1),e.substr(t)}function coe(e,t){for(tr(t);e.c=e?new N3e:g3n(e-1)}function Ja(e){return!e.a&&e.c?e.c.b:e.a}function q5e(e){return De(e,616)?e:new Fot(e)}function xb(e){e.c?xb(e.c):(Mb(e),e.d=!0)}function nA(e){e.c?e.c.$e():(e.d=!0,ICn(e))}function Rat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function jat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function lpn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):D9e(e,t)}function $at(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function Wat(e,t){var n;return n=new vu(e),qn(t.c,n),n}function Yat(e,t){e.u.Hc((Pl(),kp))&&pTn(e,t),Ovn(e,t)}function eu(e,t){return qe(e)===qe(t)||e!=null&&Fi(e,t)}function Zo(e,t){return qae(e.a,t)?e.b[l(t,22).g]:null}function Tpn(){return aq(),he(le(uAe,1),it,489,0,[a1e])}function Epn(){return uq(),he(le(FOe,1),it,490,0,[Mge])}function Cpn(){return lq(),he(le(kSt,1),it,558,0,[Dge])}function Spn(){return m_(),he(le(iNe,1),it,539,0,[XB])}function MH(e){return!e.n&&(e.n=new nt(nc,e,1,7)),e.n}function loe(e){return!e.c&&(e.c=new nt($l,e,9,9)),e.c}function G5e(e){return!e.c&&(e.c=new An(Sr,e,5,8)),e.c}function _pn(e){return!e.b&&(e.b=new An(Sr,e,4,7)),e.b}function XO(e){return e.j.c.length=0,W5e(e.c),s0n(e.a),e}function Xk(e){return e.e==CE&&fn(e,x6n(e.g,e.b)),e.e}function QO(e){return e.f==CE&&Dn(e,f8n(e.g,e.b)),e.f}function Ei(e,t,n,r){return v0t(e,t,n,!1),GU(e,r),e}function Xat(e,t){this.b=e,Zae.call(this,e,t),prt(this)}function Qat(e,t){this.b=e,M4e.call(this,e,t),brt(this)}function rA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function K5e(e,t){this.b=e,this.c=t,this.a=new B8(this.b)}function io(e,t){return Yn(t,e.length),e.charCodeAt(t)}function Apn(e,t){N8e(e,ze(ap(t,"x")),ze(ap(t,"y")))}function Lpn(e,t){N8e(e,ze(ap(t,"x")),ze(ap(t,"y")))}function ji(e,t){return Mb(e),new vn(e,new i7e(t,e.a))}function gc(e,t){return Mb(e),new vn(e,new H6e(t,e.a))}function Ey(e,t){return Mb(e),new c4e(e,new alt(t,e.a))}function DH(e,t){return Mb(e),new u4e(e,new olt(t,e.a))}function Mpn(e,t){return new xot(l(Xr(e),50),l(Xr(t),50))}function Dpn(e,t){return Xi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function Jat(e,t,n){n.a?Gu(e,t.b-e.f/2):Vu(e,t.a-e.g/2)}function Ipn(e,t){return Xi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function Opn(e,t){return F3e(),Xi((tr(e),e),(tr(t),t))}function Npn(e){return e!=null&&lO(MY,e.toLowerCase())}function W5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function G5(e){var t;return t=e.b,!t&&(e.b=t=new Die(e)),t}function hoe(e){var t;return t=v3n(e),t||null}function Zat(e,t){var n,r;return n=e/t,r=da(n),n>r&&++r,r}function Ppn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function Bpn(e,t,n){RLn(e.a,n),pyn(n),sEn(e.b,n),sMn(t,n)}function IH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function Y5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function eot(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function Zh(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function tot(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function foe(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function not(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function doe(e,t,n){this.a=kTe,this.d=e,this.b=t,this.c=n}function ex(e,t,n,r){Vr.call(this,e,t),this.a=n,this.b=r}function rot(e,t){this.d=(tr(e),e),this.a=16449,this.c=t}function iot(e){this.a=new mt,this.e=We(Ur,dt,53,e,0,2)}function Fpn(e){e.Ug("No crossing minimization",1),e.Vg()}function sot(){Ic.call(this,"There is no more element.")}function aot(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function oot(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function zm(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function cot(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function uot(e,t,n,r){Qh(),clt.call(this,t,n,r),this.a=e}function lot(e,t,n,r){Qh(),clt.call(this,t,n,r),this.a=e}function goe(e,t,n){var r,s;return r=cTe(e),s=t.ti(n,r),s}function Qg(e){var t,n;return n=(t=new iw,t),oT(n,e),n}function poe(e){var t,n;return n=(t=new iw,t),h9e(n,e),n}function Rpn(e,t){var n;return n=or(e.f,t),U7e(t,n),null}function hot(e){return!e.b&&(e.b=new nt(js,e,12,3)),e.b}function fot(e){return V_(e==null||Jae(e)&&e.Tm!==xe),e}function OH(e){return e.n&&(e.e!==d3t&&e.je(),e.j=null),e}function Qk(e){if(Wl(e.d),e.d.d!=e.c)throw ue(new Yh)}function X5e(e){return br(e.b0&&Ugt(this)}function dot(e,t){this.a=e,Ffn.call(this,e,l(e.d,15).fd(t))}function jpn(e,t){return Xi(vl(e)*hh(e),vl(t)*hh(t))}function $pn(e,t){return Xi(vl(e)*hh(e),vl(t)*hh(t))}function zpn(e){return Yw(e)&&Ft(Pt(at(e,(Nt(),kv))))}function qpn(e,t){return xn(e,l(Q(t,(Nt(),VE)),17),t)}function Hpn(e,t){return l(Q(e,(ft(),Yx)),15).Fc(t),t}function Q5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function got(e,t,n,r){this.b=e,this.c=r,Rq.call(this,t,n)}function Upn(e,t,n){e.i=0,e.e=0,t!=n&&Q0t(e,t,n)}function Vpn(e,t,n){e.i=0,e.e=0,t!=n&&J0t(e,t,n)}function Gpn(e,t,n){return b_(),w5n(l(or(e.e,t),529),n)}function tx(e){var t;return t=e.f,t||(e.f=new Dk(e,e.c))}function pot(e,t){return n6(e.j,t.s,t.c)+n6(t.e,e.s,e.c)}function bot(e,t){e.e&&!e.e.a&&(tJe(e.e,t),bot(e.e,t))}function mot(e,t){e.d&&!e.d.a&&(tJe(e.d,t),mot(e.d,t))}function Kpn(e,t){return-Xi(vl(e)*hh(e),vl(t)*hh(t))}function Wpn(e){return l(e.ld(),149).Pg()+":"+Tc(e.md())}function vot(){Wue(this,new wz),this.wb=(wb(),Un),Ak()}function wot(e){this.b=new mt,aa(this.b,this.b),this.a=e}function J5e(e,t){new os,this.a=new pl,this.b=e,this.c=t}function Mw(){Mw=U,D_e=new Ke,V0e=new Ke,I_e=new zt}function Cn(){Cn=U,Co=new je,yg=new Se,vK=new Ce}function Z5e(){Z5e=U,p7t=new uo,m7t=new g5e,b7t=new Es}function nx(){nx=U,SK=new mt,l1e=new Nr,u1e=new mt}function NH(e,t){if(e==null)throw ue(new I8(t));return e}function PH(e){return!e.a&&(e.a=new nt(Li,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Vf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(fl,e,21,17)),e.s}function Ypn(e){return Xr(e),agt(new lr(fr(e.a.Kc(),new j)))}function Xpn(e,t){return dh(e),dh(t),hZe(l(e,22),l(t,22))}function qm(e,t,n){var r,s;r=I4e(n),s=new yk(r),Z0(e,t,s)}function moe(e,t,n,r,s,o){dN.call(this,e,t,n,r,s,o?-2:-1)}function yot(e,t,n,r){wye.call(this,t,n),this.b=e,this.a=r}function xot(e,t){mun.call(this,new Yae(e)),this.a=e,this.b=t}function e6e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Qpn(e){c0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Jk(){Jk=U;var e,t;t=!i6n(),e=new se,$0e=t?new ne:e}function voe(e){return Cn(),De(e,59)?new gse(e):new Gq(e)}function BH(e){return De(e,16)?new G_(l(e,16)):Mdn(e.Kc())}function Jpn(e){return new vrt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Zpn(e){return new wrt(e,e.e.Rd().gc()*e.c.Rd().gc())}function t6e(e){return e&&e.hashCode?e.hashCode():ww(e)}function woe(e,t){return t==null?!!zo(e.f,null):pgn(e.i,t)}function e2n(e,t){var n;return n=Fye(e.a,t),n&&(t.d=null),n}function kot(e,t,n){return e.f?e.f.ef(t,n):!1}function JO(e,t,n,r){Ss(e.c[t.g],n.g,r),Ss(e.c[n.g],t.g,r)}function yoe(e,t,n,r){Ss(e.c[t.g],t.g,n),Ss(e.b[t.g],t.g,r)}function t2n(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Tot(e,t){this.g=e,this.d=he(le(kg,1),S2,10,0,[t])}function Eot(e){this.c=e,this.b=new n2(l(Xr(new Ou),50))}function Cot(e){this.c=e,this.b=new n2(l(Xr(new f5),50))}function Sot(e){this.b=e,this.a=new n2(l(Xr(new gi),50))}function _ot(){this.b=new Ys,this.d=new os,this.e=new t3e}function n6e(){this.c=new za,this.d=new za,this.e=new za}function Dw(){this.a=new pl,this.b=(Mh(3,Jy),new Pu(3))}function o2(e,t){this.e=e,this.a=ka,this.b=_mt(t),this.c=t}function FH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function Aot(e,t,n,r,s,o){this.a=e,fce.call(this,t,n,r,s,o)}function Lot(e,t,n,r,s,o){this.a=e,fce.call(this,t,n,r,s,o)}function kb(e,t,n,r,s,o,f){return new Foe(e.e,t,n,r,s,o,f)}function n2n(e,t,n){return n>=0&&wn(e.substr(n,t.length),t)}function Mot(e,t){return De(t,149)&&wn(e.b,l(t,149).Pg())}function r2n(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function Dot(e,t){var n;return n=e.b.Qc(t),Cut(n,e.b.gc()),n}function ZO(e,t){if(e==null)throw ue(new I8(t));return e}function pc(e){return e.u||(Gl(e),e.u=new lit(e,e)),e.u}function xoe(e){this.a=(Cn(),De(e,59)?new gse(e):new Gq(e))}function il(e){var t;return t=l(Gn(e,16),29),t||e.ii()}function RH(e,t){var n;return n=Pm(e.Rm),t==null?n:n+": "+t}function ef(e,t,n){return Va(t,n,e.length),e.substr(t,n-t)}function Iot(e,t){Qq.call(this),d7e(this),this.a=e,this.c=t}function i2n(e){e&&RH(e,e.ie())}function s2n(e){Xz(),b.setTimeout(function(){throw e},0)}function a2n(){return aV(),he(le($_e,1),it,436,0,[Z0e,j_e])}function o2n(){return dU(),he(le(q_e,1),it,435,0,[z_e,e1e])}function c2n(){return gU(),he(le(bAe,1),it,432,0,[h1e,_K])}function u2n(){return pT(),he(le(bxt,1),it,517,0,[xB,C1e])}function l2n(){return WH(),he(le(ZLe,1),it,429,0,[tde,JLe])}function h2n(){return TN(),he(le(FLe,1),it,428,0,[rW,BLe])}function f2n(){return sU(),he(le(LLe,1),it,431,0,[ALe,$1e])}function d2n(){return xN(),he(le(VDe,1),it,430,0,[Bde,Fde])}function g2n(){return cA(),he(le(oEt,1),it,531,0,[lM,uM])}function p2n(){return LU(),he(le(zIe,1),it,501,0,[KW,J6])}function b2n(){return xd(),he(le(gEt,1),it,523,0,[S3,O2])}function m2n(){return D1(),he(le(bEt,1),it,522,0,[_v,Y1])}function v2n(){return Q0(),he(le(DEt,1),it,528,0,[S4,Qb])}function w2n(){return bN(),he(le($Le,1),it,488,0,[jLe,sW])}function y2n(){return ZH(),he(le(MOe,1),it,491,0,[_ge,LOe])}function x2n(){return Sce(),he(le(BOe,1),it,492,0,[NOe,POe])}function k2n(){return VH(),he(le($Ie,1),it,433,0,[sge,jIe])}function T2n(){return oU(),he(le(HIe,1),it,434,0,[qIe,hge])}function E2n(){return Ow(),he(le(REt,1),it,465,0,[Jb,Y6])}function C2n(){return hN(),he(le(ROe,1),it,438,0,[Ige,iY])}function S2n(){return ON(),he(le(aNe,1),it,437,0,[aY,sNe])}function _2n(){return Dae(),he(le(xY,1),it,347,0,[xPe,kPe])}function jH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function eN(e){return e.b.b==0?e.a.sf():Bae(e.b)}function A2n(e){if(e.p!=5)throw ue(new gl);return Yr(e.f)}function L2n(e){if(e.p!=5)throw ue(new gl);return Yr(e.k)}function r6e(e){return qe(e.a)===qe((Ece(),bpe))&&_Mn(e),e.a}function M2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=dH(e.c,e.b,e.a))}function D2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=dH(e.c,e.b,e.a))}function Oot(e,t){ce(this,new lt(e.a,e.b)),ve(this,HO(t))}function Iw(){vun.call(this,new P8(Dy(12))),qye(!0),this.a=2}function koe(e,t,n){Ii(),rw.call(this,e),this.b=t,this.a=n}function i6e(e,t,n){Qh(),zz.call(this,t),this.a=e,this.b=n}function Not(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function I2n(e){return e.b==0?null:(br(e.b!=0),sf(e,e.a.a))}function wu(e,t){return t==null?dc(zo(e.f,null)):x_(e.i,t)}function Pot(e,t,n,r,s){return new Xue(e,(sT(),Y0e),t,n,r,s)}function $H(e,t){return kut(t),n3n(e,We(Ur,fi,28,t,15,1),t)}function zH(e,t){return NH(e,"set1"),NH(t,"set2"),new Tet(e,t)}function O2n(e,t){var n=j0e[e.charCodeAt(0)];return n??e}function Bot(e,t){var n,r;return n=t,r=new yt,uwt(e,n,r),r.d}function Toe(e,t,n,r){var s;s=new dit,t.a[n.g]=s,J8(e.b,r,s)}function N2n(e,t){var n;return n=Zwn(e.f,t),Pi(Xq(n),e.f.d)}function tN(e){var t;l3n(e.a),Hnt(e.a),t=new t_(e.a),U8e(t)}function P2n(e,t){mmt(e,!0),Uu(e.e.Rf(),new B4e(e,!0,t))}function B2n(e,t){return nx(),e==ds(hg(t))||e==ds(Ib(t))}function F2n(e,t){return sp(),l(Q(t,(Vc(),$d)),17).a==e}function da(e){return Math.max(Math.min(e,Ni),-2147483648)|0}function Fot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Yye(e))}function Rot(e,t,n){this.i=new mt,this.b=e,this.g=t,this.a=n}function s6e(e,t,n){this.a=new mt,this.e=e,this.f=t,this.c=n}function qH(e,t,n){this.c=new mt,this.e=e,this.f=t,this.b=n}function jot(e){Qq.call(this),d7e(this),this.a=e,this.c=!0}function R2n(e){function t(){}return t.prototype=e||{},new t}function j2n(e){if(e.Ae())return null;var t=e.n;return fK[t]}function nN(e){return e.Db>>16!=3?null:l(e.Cb,27)}function M1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function $ot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function Ow(){Ow=U,Jb=new oye(Dx,0),Y6=new oye(Ix,1)}function xd(){xd=U,S3=new iye(Ix,0),O2=new iye(Dx,1)}function D1(){D1=U,_v=new sye(Ohe,0),Y1=new sye("UP",1)}function zot(){zot=U,F6t=Kr((Kz(),he(le(B6t,1),it,549,0,[F0e])))}function qot(e){var t;return t=new eq(Dy(e.length)),r8e(t,e),t}function Hot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function $2n(e,t){return L0t(e,t)?(Cft(e),!0):!1}function Jg(e,t){if(t==null)throw ue(new _8);return a6n(e,t)}function rN(e,t){var n;n=e.q.getHours(),e.q.setDate(t),QA(e,n)}function a6e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):ike(e,t,n)}function Uot(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):nle(e,t)}function Vot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function Eoe(e,t,n){var r;r=Y0t(e,t,n),e.b=new DU(r.c.length)}function K5(e,t,n){HH(),e&&Ti(dpe,e,t),e&&Ti(vF,e,n)}function z2n(e,t){return nH(),Hn(),l(t.a,17).a0}function o6e(e){var t;return t=e.d,t=e.bj(e.f),zr(e,t),t.Ob()}function Got(e,t){var n;return n=new h5e(t),mpt(n,e),new Ml(n)}function U2n(e){if(e.p!=0)throw ue(new gl);return O_(e.f,0)}function V2n(e){if(e.p!=0)throw ue(new gl);return O_(e.k,0)}function Kot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Zk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function Wot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function ds(e){return e.Db>>16!=11?null:l(e.Cb,27)}function Cy(e){return e.Db>>16!=17?null:l(e.Cb,29)}function Yot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function c6e(e){var t;return Mb(e),t=new Ys,ji(e,new E5(t))}function Xot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function G2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),QA(e,n)}function Qot(e,t){Uq(this),this.f=t,this.g=e,OH(this),this.je()}function Jot(e,t){this.a=e,this.c=Xa(this.a),this.b=new FH(t)}function Zot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ml(n))}function ect(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ml(n))}function tct(e){this.a=e,this.b=We(iEt,dt,2043,e.e.length,0,2)}function nct(){this.a=new bd,this.e=new Ys,this.g=0,this.i=0}function HH(){HH=U,dpe=new Nr,vF=new Nr,$ln(t7t,new MS)}function rct(){rct=U,qTt=wl(new Js,(so(),wc),(po(),kB))}function u6e(){u6e=U,HTt=wl(new Js,(so(),wc),(po(),kB))}function ict(){ict=U,VTt=wl(new Js,(so(),wc),(po(),kB))}function sct(){sct=U,uEt=hi(new Js,(so(),wc),(po(),qL))}function Sh(){Sh=U,fEt=hi(new Js,(so(),wc),(po(),qL))}function act(){act=U,dEt=hi(new Js,(so(),wc),(po(),qL))}function Soe(){Soe=U,vEt=hi(new Js,(so(),wc),(po(),qL))}function iA(e,t,n,r,s,o){return new rp(e.e,t,e.Lj(),n,r,s,o)}function sc(e,t,n){return t==null?Ru(e.f,null,n):Hw(e.i,t,n)}function ho(e,t){e.c&&sl(e.c.g,e),e.c=t,e.c&&wt(e.c.g,e)}function Ha(e,t){e.c&&sl(e.c.a,e),e.c=t,e.c&&wt(e.c.a,e)}function Nc(e,t){e.i&&sl(e.i.j,e),e.i=t,e.i&&wt(e.i.j,e)}function Na(e,t){e.d&&sl(e.d.e,e),e.d=t,e.d&&wt(e.d.e,e)}function _oe(e,t){e.a&&sl(e.a.k,e),e.a=t,e.a&&wt(e.a.k,e)}function Aoe(e,t){e.b&&sl(e.b.f,e),e.b=t,e.b&&wt(e.b.f,e)}function oct(e,t){ipn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function K2n(e,t){return Xi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function W2n(e,t){return Xi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function Y2n(e){return Uce(),Hn(),l(e.a,86).d.e!=0}function UH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Bu(e,t)}function Loe(e,t){De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),4),Bu(e,t)}function X2n(e,t){P8e(e,t),De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),2)}function Q2n(e,t){var n,r;n=t.c,r=n!=null,r&&Z8(e,new Ty(t.c))}function cct(e){var t,n;return n=(Ak(),t=new iw,t),oT(n,e),n}function uct(e){var t,n;return n=(Ak(),t=new iw,t),oT(n,e),n}function lct(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function J2n(e,t,n){return wt(e.a,(LH(),Sue(t,n),new hw(t,n))),e}function yu(e,t){return Ro(),ice(t)?new uH(t,e):new AO(t,e)}function iN(e){return Cd(),su(e,0)>=0?Db(e):Z_(Db(f2(e)))}function Z2n(e){var t;return t=l(oH(e.b),9),new Jh(e.a,t,e.c)}function hct(e,t){var n;return n=l(By(tx(e.a),t),16),n?n.gc():0}function fct(e,t,n){var r;F1t(t,n,e.c.length),r=n-t,D3e(e.c,t,r)}function c2(e,t,n){F1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function rx(e){this.c=new os,this.b=e.b,this.d=e.c,this.a=e.a}function Moe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Hm(e,t,n,r){this.c=e,this.d=r,_oe(this,t),Aoe(this,n)}function l6e(e,t){bun.call(this,new P8(Dy(e))),Mh(t,o3t),this.a=t}function dct(e,t,n){return new Xue(e,(sT(),W0e),null,!1,t,n)}function gct(e,t,n){return new Xue(e,(sT(),X0e),t,n,null,!1)}function ebn(){return Nl(),he(le(uc,1),it,108,0,[R_e,Cc,o4])}function tbn(){return al(),he(le(S7t,1),it,472,0,[s1,Gb,v0])}function nbn(){return Ol(),he(le(E7t,1),it,471,0,[Fd,Vb,m0])}function rbn(){return e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])}function ibn(){return hA(),he(le(DAe,1),it,391,0,[p1e,g1e,b1e])}function sbn(){return $w(),he(le(D1e,1),it,372,0,[g3,Kb,d3])}function abn(){return gA(),he(le(DLe,1),it,322,0,[UL,CB,MLe])}function obn(){return kU(),he(le(OLe,1),it,351,0,[ILe,nW,z1e])}function cbn(){return Jm(),he(le(Kxt,1),it,460,0,[U1e,jE,F6])}function ubn(){return yT(),he(le(ede,1),it,299,0,[J1e,Z1e,SB])}function lbn(){return ip(),he(le(t9t,1),it,311,0,[_B,j6,Gx])}function hbn(){return EA(),he(le(PDe,1),it,390,0,[Lde,NDe,OW])}function fbn(){return qo(),he(le(PTt,1),it,463,0,[aM,Fl,$u])}function dbn(){return BU(),he(le(WDe,1),it,387,0,[GDe,Rde,KDe])}function gbn(){return xA(),he(le(YDe,1),it,349,0,[$de,jde,RB])}function pbn(){return AT(),he(le(QDe,1),it,350,0,[zde,XDe,oM])}function bbn(){return xU(),he(le(eIe,1),it,352,0,[ZDe,qde,JDe])}function mbn(){return $U(),he(le(tIe,1),it,388,0,[Hde,JE,C4])}function vbn(){return jw(),he(le(nEt,1),it,464,0,[jB,cM,FW])}function I1(e){return Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a]))}function wbn(){return kA(),he(le(vIe,1),it,392,0,[mIe,Gde,zB])}function pct(){pct=U,dCt=wl(new Js,(yx(),fM),(YA(),cIe))}function VH(){VH=U,sge=new cye("DFS",0),jIe=new cye("BFS",1)}function bct(e,t,n){var r;r=new Cte,r.b=t,r.a=n,++t.b,wt(e.d,r)}function ybn(e,t,n){var r;r=new xo(n.d),Pi(r,e),N8e(t,r.a,r.b)}function xbn(e,t){urt(e,Yr(xa(Tw(t,24),aG)),Yr(xa(t,aG)))}function Sy(e,t){if(e<0||e>t)throw ue(new rc(DTe+e+ITe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new rc(DTe+e+ITe+t))}function Yn(e,t){if(e<0||e>=t)throw ue(new v3e(DTe+e+ITe+t))}function kn(e,t){this.b=(tr(e),e),this.a=t&Zy?t:t|64|_d}function h6e(e){var t;return Mb(e),t=(Mw(),Mw(),V0e),mU(e,t)}function kbn(e,t,n){var r;return r=eL(e,t,!1),r.b<=t&&r.a<=n}function Tbn(){return cU(),he(le(OOe,1),it,439,0,[Age,IOe,DOe])}function Ebn(){return YU(),he(le(gOe,1),it,394,0,[dOe,Tge,fOe])}function Cbn(){return tV(),he(le(hOe,1),it,445,0,[GB,QW,mge])}function Sbn(){return fV(),he(le(UCt,1),it,456,0,[vge,yge,wge])}function _bn(){return FN(),he(le(GIe,1),it,393,0,[WW,UIe,VIe])}function Abn(){return PU(),he(le(lOe,1),it,300,0,[bge,uOe,cOe])}function Lbn(){return op(),he(le(dPe,1),it,346,0,[gY,F2,IM])}function Mbn(){return HN(),he(le(Lge,1),it,444,0,[tY,nY,rY])}function Dbn(){return F1(),he(le(tPe,1),it,278,0,[iC,M4,sC])}function Ibn(){return gx(),he(le(yPe,1),it,280,0,[wPe,I4,yY])}function Nw(e){return Xr(e),De(e,16)?new Ml(l(e,16)):qk(e.Kc())}function f6e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function xa(e,t){return Sb(Egn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function X0(e,t){return Sb(Cgn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Doe(e,t){return Sb(Sgn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Obn(e,t){var n;return n=(tr(e),e).g,a4e(!!n),tr(t),n(t)}function mct(e,t){var n,r;return r=Vk(e,t),n=e.a.fd(r),new xet(e,n)}function Nbn(e){return e.Db>>16!=6?null:l(sle(e),241)}function Pbn(e){if(e.p!=2)throw ue(new gl);return Yr(e.f)&ta}function Bbn(e){if(e.p!=2)throw ue(new gl);return Yr(e.k)&ta}function re(e){return br(e.ar?1:0}function xct(e,t){var n,r;return n=ece(t),r=n,l(or(e.c,r),17).a}function Ioe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Kbn(e,t,n){var r;e.n&&t&&n&&(r=new ore,wt(e.e,r))}function Ooe(e,t){if(sa(e.a,t),t.d)throw ue(new Ic(M3t));t.d=e}function p6e(e,t){this.a=new mt,this.d=new mt,this.f=e,this.c=t}function kct(){this.c=new srt,this.a=new hlt,this.b=new xJe,zet()}function Tct(){fx(),this.b=new Nr,this.a=new Nr,this.c=new mt}function Ect(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Cct(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Sct(e,t,n,r,s,o){p7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function _ct(e,t,n,r,s,o){b7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Act(e,t,n,r,s,o){O6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Lct(e,t,n,r,s,o){w7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Mct(e,t,n,r,s,o){N6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Dct(e,t,n,r,s,o){m7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Ict(e,t,n,r,s,o){v7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Oct(e,t,n,r,s,o){P6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Nct(e,t,n,r){zz.call(this,n),this.b=e,this.c=t,this.d=r}function Pct(e,t){this.f=e,this.a=(nT(),OY),this.c=OY,this.b=t}function Bct(e,t){this.g=e,this.d=(nT(),NY),this.a=NY,this.b=t}function b6e(e,t){!e.c&&(e.c=new Ms(e,0)),XV(e.c,(Wi(),UM),t)}function Wbn(e,t){return MEn(e,t,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Ybn(e,t){return bat(tu(e.q.getTime()),tu(t.q.getTime()))}function Fct(e){return jae(e.e.Rd().gc()*e.c.Rd().gc(),16,new Lie(e))}function Xbn(e){return!!e.u&&fu(e.u.a).i!=0&&!(e.n&&kue(e.n))}function Qbn(e){return!!e.a&&Kl(e.a.a).i!=0&&!(e.b&&Tue(e.b))}function m6e(e,t){return t==0?!!e.o&&e.o.f!=0:bue(e,t)}function Jbn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function Rct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function jct(e,t){var n;return n=1-t,e.a[n]=MU(e.a[n],n),MU(e,t)}function $ct(e,t){var n,r;return r=xa(e,Uo),n=u0(t,32),X0(n,r)}function zct(e,t,n){var r;r=(Xr(e),new Ml(e)),e8n(new Zot(r,t,n))}function sN(e,t,n){var r;r=(Xr(e),new Ml(e)),t8n(new ect(r,t,n))}function Hc(e,t,n,r,s,o){return v0t(e,t,n,o),S8e(e,r),_8e(e,s),e}function qct(e,t,n,r){return e.a+=""+ef(t==null?cl:Tc(t),n,r),e}function Ua(e,t){this.a=e,xr.call(this,e),Sy(t,e.gc()),this.b=t}function Hct(e){this.a=We(ka,jn,1,Z7e(b.Math.max(8,e))<<1,5,1)}function aN(e){return l(j1(e,We(kg,S2,10,e.c.length,0,1)),199)}function kd(e){return l(j1(e,We(T1e,Xhe,18,e.c.length,0,1)),483)}function Uct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function sA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function Vct(e){return br(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Zbn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Ch(e.d),uy(e.e.a.c,0)}function Gct(e,t){var n;e.e=new c3e,n=Gy(t),Gs(n,e.c),amt(e,n,0)}function Zs(e,t,n,r){var s;s=new ek,s.a=t,s.b=n,s.c=r,ci(e.a,s)}function pt(e,t,n,r){var s;s=new ek,s.a=t,s.b=n,s.c=r,ci(e.b,s)}function Kct(e,t,n){if(e<0||tn)throw ue(new rc(fkn(e,t,n)))}function oN(e,t){if(e<0||e>=t)throw ue(new rc(Hkn(e,t)));return e}function emn(e){if(!("stack"in e))try{throw e}catch{}return e}function W5(e){return b_(),De(e.g,10)?l(e.g,10):null}function tmn(e){return G5(e).dc()?!1:(Ehn(e,new oe),!0)}function Vm(e){var t;return xc(e)?(t=e,t==-0?0:t):bwn(e)}function Wct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function Yct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function Xct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function v6e(e){var t;return xb(e),t=new Ne,M5(e.a,new T5(t)),t}function w6e(){var e,t,n;return t=(n=(e=new iw,e),n),wt(nBe,t),t}function GH(e){var t;return xb(e),t=new pn,M5(e.a,new C8(t)),t}function nmn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function Qct(e){xce.call(this,e,(sT(),K0e),null,!1,null,!1)}function Jct(){Jct=U,i8t=Kr((aq(),he(le(uAe,1),it,489,0,[a1e])))}function Zct(){Zct=U,rIe=Vat(bt(1),bt(4)),nIe=Vat(bt(1),bt(2))}function rmn(e,t){return new Oae(t,q_(Xa(t.e),e,e),(Hn(),!0))}function KH(e){return new Pu((Mh(e,Qle),pU(fo(fo(5,e),e/10|0))))}function imn(e){return jae(e.e.Rd().gc()*e.c.Rd().gc(),273,new Aie(e))}function eut(e){return l(j1(e,We(dxt,cyt,12,e.c.length,0,1)),2042)}function smn(e){return Sh(),!Ao(e)&&!(!Ao(e)&&e.c.i.c==e.d.i.c)}function amn(e,t){return lx(),l(Q(t,(Vc(),X6)),17).a>=e.gc()}function aA(e,t){qIn(t,e),J4e(e.d),J4e(l(Q(e,(Nt(),SW)),214))}function Noe(e,t){HIn(t,e),Z4e(e.d),Z4e(l(Q(e,(Nt(),SW)),214))}function omn(e,t,n){e.d&&sl(e.d.e,e),e.d=t,e.d&&kw(e.d.e,n,e)}function cmn(e,t,n){return n.f.c.length>0?_5e(e.a,t,n):_5e(e.b,t,n)}function umn(e,t,n){var r;r=S6n();try{return Xfn(e,t,n)}finally{tvn(r)}}function Pw(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=n.pe()),r}function oA(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=n.se()),r}function eT(e,t){var n,r;return n=My(e,t),r=null,n&&(r=n.se()),r}function Zg(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=v9e(n)),r}function lmn(e,t,n){var r;return r=BT(n),VV(e.g,r,t),VV(e.i,t,n),t}function y6e(e,t,n){this.d=new uXe(this),this.e=e,this.i=t,this.f=n}function tut(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function nut(e,t,n,r){Znt(this),this.c=e,this.e=t,this.f=n,this.b=r}function x6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function rut(e,t,n,r){return De(n,59)?new Ort(e,t,n,r):new x5e(e,t,n,r)}function tT(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function iut(e){if(e.e.g!=e.b)throw ue(new Yh);return!!e.c&&e.d>0}function Pr(e){return br(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function k6e(e,t){tr(t),Ss(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Sgt(e)}function Tb(e,t){tr(t),e.b=e.b-1&e.a.length-1,Ss(e.a,e.b,t),Sgt(e)}function sut(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function hmn(e){return new kn(Xwn(l(e.a.md(),16).gc(),e.a.ld()),16)}function aut(){aut=U,xSt=Kr((uq(),he(le(FOe,1),it,490,0,[Mge])))}function out(){out=U,TSt=Kr((lq(),he(le(kSt,1),it,558,0,[Dge])))}function cut(){cut=U,zSt=Kr((m_(),he(le(iNe,1),it,539,0,[XB])))}function fmn(){return tv(),he(le(PAe,1),it,389,0,[h4,NAe,x1e,k1e])}function dmn(){return sT(),he(le(wK,1),it,304,0,[K0e,W0e,Y0e,X0e])}function gmn(){return mx(),he(le(Z7t,1),it,332,0,[gB,dB,pB,bB])}function pmn(){return PA(),he(le(n8t,1),it,406,0,[mB,TK,EK,vB])}function bmn(){return qw(),he(le(Q7t,1),it,417,0,[fB,hB,i1e,s1e])}function mmn(){return xT(),he(le(txt,1),it,416,0,[f3,l4,u4,I6])}function vmn(){return R1(),he(le(Dxt,1),it,421,0,[Vx,IE,OE,M1e])}function wmn(){return jU(),he(le(yxt,1),it,371,0,[L1e,XK,QK,TB])}function ymn(){return jy(),he(le(Dde,1),it,203,0,[NW,Mde,W6,K6])}function xmn(){return Td(),he(le(UDe,1),it,284,0,[I2,HDe,Nde,Pde])}function kmn(e){var t;return e.j==(_t(),Mr)&&(t=W2t(e),ml(t,sr))}function Tmn(e,t){var n;n=t.a,ho(n,t.c.d),Na(n,t.d.d),Ny(n.a,e.n)}function T6e(e,t){var n;return n=l(B1(e.b,t),67),!n&&(n=new os),n}function sx(e){return b_(),De(e.g,154)?l(e.g,154):null}function Emn(e){e.a=null,e.e=null,uy(e.b.c,0),uy(e.f.c,0),e.c=null}function WH(){WH=U,tde=new tye(lE,0),JLe=new tye("TOP_LEFT",1)}function cA(){cA=U,lM=new rye("UPPER",0),uM=new rye("LOWER",1)}function Cmn(e,t){return q8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function uut(e,t){return l(uh(xy(l($i(e.k,t),15).Oc(),N6)),113)}function lut(e,t){return l(uh(X8(l($i(e.k,t),15).Oc(),N6)),113)}function Smn(){return yx(),he(le(aIe,1),it,405,0,[zW,hM,fM,dM])}function _mn(){return TA(),he(le(RIe,1),it,353,0,[ige,GW,rge,nge])}function Amn(){return bV(),he(le(oOe,1),it,354,0,[pge,sOe,aOe,iOe])}function Lmn(){return gh(),he(le(FM,1),it,386,0,[fF,Ov,hF,D4])}function Mmn(){return Ih(),he(le(A_t,1),it,291,0,[cF,Cg,tm,oF])}function Dmn(){return cp(),he(le(ipe,1),it,223,0,[rpe,aF,aC,a9])}function Imn(){return QU(),he(le(SPe,1),it,320,0,[ope,TPe,CPe,EPe])}function Omn(){return zU(),he(le(V_t,1),it,415,0,[cpe,APe,_Pe,LPe])}function Nmn(e){return HH(),Hu(dpe,e)?l(or(dpe,e),341).Qg():null}function tf(e,t,n){return t<0?nle(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function Pmn(e,t,n){var r;return r=BT(n),VV(e.j,r,t),Ti(e.k,t,n),t}function Bmn(e,t,n){var r;return r=BT(n),VV(e.d,r,t),Ti(e.e,t,n),t}function hut(e){var t,n;return t=(fb(),n=new II,n),e&&PV(t,e),t}function E6e(e){var t;return t=e.aj(e.i),e.i>0&&gu(e.g,0,t,0,e.i),t}function fut(e,t){var n;for(n=e.j.c.length;n>24}function Rmn(e){if(e.p!=1)throw ue(new gl);return Yr(e.k)<<24>>24}function jmn(e){if(e.p!=7)throw ue(new gl);return Yr(e.k)<<16>>16}function $mn(e){if(e.p!=7)throw ue(new gl);return Yr(e.f)<<16>>16}function Y5(e,t){return t.e==0||e.e==0?FL:(WT(),hle(e,t))}function put(e,t){return qe(t)===qe(e)?"(this Map)":t==null?cl:Tc(t)}function zmn(e,t,n){return Wae(Ge(dc(zo(e.f,t))),Ge(dc(zo(e.f,n))))}function qmn(e,t,n){var r;r=l(or(e.g,n),60),wt(e.a.c,new fa(t,r))}function but(e,t,n){e.i=0,e.e=0,t!=n&&(J0t(e,t,n),Q0t(e,t,n))}function Hmn(e,t,n,r,s){var o;o=UEn(s,n,r),wt(t,Bkn(s,o)),_9n(e,s,t)}function C6e(e,t,n,r,s){this.i=e,this.a=t,this.e=n,this.j=r,this.f=s}function mut(e,t){n6e.call(this),this.a=e,this.b=t,wt(this.a.b,this)}function vut(e){this.b=new Nr,this.c=new Nr,this.d=new Nr,this.a=e}function wut(e,t){var n;return n=new A5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function yut(e,t){var n;for(n=t;n;)yw(e,n.i,n.j),n=ds(n);return e}function xut(e,t,n){var r;return r=BT(n),Ti(e.b,r,t),Ti(e.c,t,n),t}function ep(e){var t;for(t=0;e.Ob();)e.Pb(),t=fo(t,1);return pU(t)}function cg(e,t){Ro();var n;return n=l(e,69).vk(),H9n(n,t),n.xl(t)}function Umn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function S6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Rb),QA(e,n)}function Vmn(e,t){return l(t==null?dc(zo(e.f,null)):x_(e.i,t),288)}function _6e(e,t){return e==(Jn(),Bs)&&t==Bs?4:e==Bs||t==Bs?8:32}function YH(e,t,n){return KV(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Gmn(e,t,n){return JT(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Kmn(e,t,n){return FEn(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function A6e(e){e.b!=e.c&&(e.a=We(ka,jn,1,8,5,1),e.b=0,e.c=0)}function uA(e){return br(e.a=0&&e.a[n]===t[n];n--);return n<0}function XH(e){var t;return e?new h5e(e):(t=new bd,wce(t,e),t)}function evn(e,t){var n,r;r=!1;do n=z0t(e,t),r=r|n;while(n);return r}function tvn(e){e&&_wn((g3e(),l_e)),--dK,e&&gK!=-1&&(Gln(gK),gK=-1)}function QH(e){n9e(),urt(this,Yr(xa(Tw(e,24),aG)),Yr(xa(e,aG)))}function Sut(){Sut=U,v7t=Kr((aV(),he(le($_e,1),it,436,0,[Z0e,j_e])))}function _ut(){_ut=U,w7t=Kr((dU(),he(le(q_e,1),it,435,0,[z_e,e1e])))}function Aut(){Aut=U,x8t=Kr((gU(),he(le(bAe,1),it,432,0,[h1e,_K])))}function Lut(){Lut=U,mxt=Kr((pT(),he(le(bxt,1),it,517,0,[xB,C1e])))}function Mut(){Mut=U,r9t=Kr((WH(),he(le(ZLe,1),it,429,0,[tde,JLe])))}function Dut(){Dut=U,Gxt=Kr((TN(),he(le(FLe,1),it,428,0,[rW,BLe])))}function Iut(){Iut=U,Xxt=Kr((bN(),he(le($Le,1),it,488,0,[jLe,sW])))}function Out(){Out=U,NTt=Kr((xN(),he(le(VDe,1),it,430,0,[Bde,Fde])))}function Nut(){Nut=U,cEt=Kr((cA(),he(le(oEt,1),it,531,0,[lM,uM])))}function Put(){Put=U,qxt=Kr((sU(),he(le(LLe,1),it,431,0,[ALe,$1e])))}function But(){But=U,fCt=Kr((VH(),he(le($Ie,1),it,433,0,[sge,jIe])))}function Fut(){Fut=U,mCt=Kr((LU(),he(le(zIe,1),it,501,0,[KW,J6])))}function Rut(){Rut=U,pEt=Kr((xd(),he(le(gEt,1),it,523,0,[S3,O2])))}function jut(){jut=U,mEt=Kr((D1(),he(le(bEt,1),it,522,0,[_v,Y1])))}function $ut(){$ut=U,IEt=Kr((Q0(),he(le(DEt,1),it,528,0,[S4,Qb])))}function zut(){zut=U,jEt=Kr((Ow(),he(le(REt,1),it,465,0,[Jb,Y6])))}function qut(){qut=U,yCt=Kr((oU(),he(le(HIe,1),it,434,0,[qIe,hge])))}function Hut(){Hut=U,pSt=Kr((ZH(),he(le(MOe,1),it,491,0,[_ge,LOe])))}function Uut(){Uut=U,mSt=Kr((Sce(),he(le(BOe,1),it,492,0,[NOe,POe])))}function Vut(){Vut=U,ESt=Kr((hN(),he(le(ROe,1),it,438,0,[Ige,iY])))}function Gut(){Gut=U,qSt=Kr((ON(),he(le(aNe,1),it,437,0,[aY,sNe])))}function Kut(){Kut=U,q_t=Kr((Dae(),he(le(xY,1),it,347,0,[xPe,kPe])))}function nvn(){return ea(),he(le(MM,1),it,88,0,[J1,yc,hc,Q1,vf])}function rvn(){return _t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])}function ivn(e,t,n){return l(t==null?Ru(e.f,null,n):Hw(e.i,t,n),288)}function svn(e){return(e.k==(Jn(),Bs)||e.k==Ks)&&rs(e,(ft(),WL))}function joe(e){return e.c&&e.d?g6e(e.c)+"->"+g6e(e.d):"e_"+ww(e)}function Za(e,t){var n,r;for(tr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function avn(e,t){var n;n=new D8,qm(n,"x",t.a),qm(n,"y",t.b),Z8(e,n)}function ovn(e,t){var n;n=new D8,qm(n,"x",t.a),qm(n,"y",t.b),Z8(e,n)}function Wut(e,t){var n;for(n=t;n;)yw(e,-n.i,-n.j),n=ds(n);return e}function M6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function nf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function D6e(e,t,n){e.a.c.length=0,IMn(e,t,n),e.a.c.length==0||aAn(e,t)}function cN(e){e.i=0,gO(e.b,null),gO(e.c,null),e.a=null,e.e=null,++e.g}function JH(){JH=U,G1=!0,c7t=!1,u7t=!1,h7t=!1,l7t=!1}function $oe(e){JH(),!G1&&(this.c=e,this.e=!0,this.a=new mt)}function Yut(e,t){this.c=0,this.b=t,vnt.call(this,e,17493),this.a=this.c}function Xut(e){Jwt(),nJe(this),this.a=new os,l8e(this,e),ci(this.a,e)}function Qut(){uae(this),this.b=new lt(gs,gs),this.a=new lt(oa,oa)}function ZH(){ZH=U,_ge=new hye(oEe,0),LOe=new hye("TARGET_WIDTH",1)}function X5(e,t){return(Mb(e),Lk(new vn(e,new i7e(t,e.a)))).Bd(qx)}function cvn(){return so(),he(le(IAe,1),it,367,0,[w0,xg,pu,Cu,wc])}function uvn(){return zy(),he(le(Oxt,1),it,375,0,[EB,eW,tW,ZK,JK])}function lvn(){return w2(),he(le(PLe,1),it,348,0,[q1e,NLe,H1e,RE,FE])}function hvn(){return NA(),he(le(FDe,1),it,323,0,[BDe,Ide,Ode,iM,sM])}function fvn(){return lf(),he(le(fMe,1),it,171,0,[DB,XL,Yb,QL,b4])}function dvn(){return TV(),he(le(vCt,1),it,368,0,[uge,age,lge,oge,cge])}function gvn(){return VA(),he(le(vSt,1),it,373,0,[Z6,t9,kM,xM,YB])}function pvn(){return iP(),he(le(qOe,1),it,324,0,[jOe,Oge,zOe,Nge,$Oe])}function bvn(){return n1(),he(le(Eg,1),it,170,0,[Bn,pa,zd,Av,P2])}function mvn(){return r6(),he(le(NM,1),it,256,0,[nm,uF,gPe,OM,pPe])}function vvn(e){return Xz(),function(){return umn(e,this,arguments)}}function Ao(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function I6e(e,t){return De(t,143)?wn(e.c,l(t,143).c):!1}function Gl(e){return e.t||(e.t=new GQe(e),AA(new cZe(e),0,e.t)),e.t}function Jut(e){this.b=e,ar.call(this,e),this.a=l(Gn(this.b.a,4),129)}function Zut(e){this.b=e,U8.call(this,e),this.a=l(Gn(this.b.a,4),129)}function l0(e,t,n,r,s){ult.call(this,t,r,s),this.c=e,this.b=n}function O6e(e,t,n,r,s){Ect.call(this,t,r,s),this.c=e,this.a=n}function N6e(e,t,n,r,s){Cct.call(this,t,r,s),this.c=e,this.a=n}function P6e(e,t,n,r,s){ult.call(this,t,r,s),this.c=e,this.a=n}function zoe(e,t){var n;return n=l(B1(e.d,t),23),n||l(B1(e.e,t),23)}function elt(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&eu(r.e,t.md())}function tlt(e,t){var n;return n=t.ld(),new hw(n,e.e.pc(n,l(t.md(),16)))}function wvn(e,t){var n;return n=e.a.get(t),n??We(ka,jn,1,0,5,1)}function nlt(e){var t;return t=e.length,wn(ir.substr(ir.length-t,t),e)}function yr(e){if(Rr(e))return e.c=e.a,e.a.Pb();throw ue(new Dc)}function B6e(e,t){return t==0||e.e==0?e:t>0?Vbt(e,t):pdt(e,-t)}function ax(e,t){return t==0||e.e==0?e:t>0?pdt(e,t):Vbt(e,-t)}function F6e(e){Mln.call(this,e==null?cl:Tc(e),De(e,82)?l(e,82):null)}function rlt(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function qoe(e){var t;return t=new Dw,mc(t,e),rt(t,(Nt(),lc),null),t}function ilt(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Jn(),Ks)&&n.k==Ks}function Hoe(e){var t,n,r;return t=e&Ql,n=e>>22&Ql,r=e<0?pp:0,qu(t,n,r)}function yvn(e){var t,n,r,s;for(n=e,r=0,s=n.length;r=0?e.Lh(r,n,!0):Xw(e,t,n)}function kvn(e,t,n){return Xi(q8(RT(e),Xa(t.b)),q8(RT(e),Xa(n.b)))}function Tvn(e,t,n){return Xi(q8(RT(e),Xa(t.e)),q8(RT(e),Xa(n.e)))}function Evn(e,t){return b.Math.min(Eb(t.a,e.d.d.c),Eb(t.b,e.d.d.c))}function uN(e,t){e._i(e.i+1),j_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function lA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function slt(e,t,n){var r;r=new Bye(e.a),mA(r,e.a.a),Ru(r.f,t,n),e.a.a=r}function R6e(e,t,n,r){var s;for(s=0;st)throw ue(new rc(_9e(e,t,"index")));return e}function l2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),D3e(e.c,t,1),n}function z6e(e,t){var n,r;return n=(tr(e),e),r=(tr(t),t),n==r?0:nt.p?-1:0}function dlt(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function Mvn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function Dvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),qO(n.Nc(),new Mie(t))}function glt(e,t){return Hu(e.a,t)?(ox(e.a,t),!0):!1}function cx(e,t,n){return oN(t,e.e.Rd().gc()),oN(n,e.c.Rd().gc()),e.a[t][n]}function tU(e,t,n){this.a=e,this.b=t,this.c=n,wt(e.t,this),wt(t.i,this)}function nU(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function lN(){this.b=new os,this.a=new os,this.b=new os,this.a=new os}function nT(){nT=U;var e,t;OY=(Ak(),t=new Uz,t),NY=(e=new tse,e)}function Ivn(e){var t;return Mb(e),t=new ast(e,e.a.e,e.a.d|4),new c4e(e,t)}function plt(e){var t;for(xb(e),t=0;e.a.Bd(new Ln);)t=fo(t,1);return t}function rU(e,t){return tr(t),e.c=0,"Initial capacity must not be negative")}function iU(){iU=U,TM=new Ki("org.eclipse.elk.labels.labelManager")}function blt(){blt=U,TLe=new ws("separateLayerConnections",(jU(),L1e))}function Q0(){Q0=U,S4=new aye("REGULAR",0),Qb=new aye("CRITICAL",1)}function hN(){hN=U,Ige=new dye("FIXED",0),iY=new dye("CENTER_NODE",1)}function sU(){sU=U,ALe=new J3e("QUADRATIC",0),$1e=new J3e("SCANLINE",1)}function mlt(){mlt=U,Hxt=Kr((gA(),he(le(DLe,1),it,322,0,[UL,CB,MLe])))}function vlt(){vlt=U,Uxt=Kr((kU(),he(le(OLe,1),it,351,0,[ILe,nW,z1e])))}function wlt(){wlt=U,jxt=Kr(($w(),he(le(D1e,1),it,372,0,[g3,Kb,d3])))}function ylt(){ylt=U,Wxt=Kr((Jm(),he(le(Kxt,1),it,460,0,[U1e,jE,F6])))}function xlt(){xlt=U,e9t=Kr((yT(),he(le(ede,1),it,299,0,[J1e,Z1e,SB])))}function klt(){klt=U,n9t=Kr((ip(),he(le(t9t,1),it,311,0,[_B,j6,Gx])))}function Tlt(){Tlt=U,LTt=Kr((EA(),he(le(PDe,1),it,390,0,[Lde,NDe,OW])))}function Elt(){Elt=U,FTt=Kr((BU(),he(le(WDe,1),it,387,0,[GDe,Rde,KDe])))}function Clt(){Clt=U,RTt=Kr((xA(),he(le(YDe,1),it,349,0,[$de,jde,RB])))}function Slt(){Slt=U,BTt=Kr((qo(),he(le(PTt,1),it,463,0,[aM,Fl,$u])))}function _lt(){_lt=U,jTt=Kr((AT(),he(le(QDe,1),it,350,0,[zde,XDe,oM])))}function Alt(){Alt=U,$Tt=Kr((xU(),he(le(eIe,1),it,352,0,[ZDe,qde,JDe])))}function Llt(){Llt=U,zTt=Kr(($U(),he(le(tIe,1),it,388,0,[Hde,JE,C4])))}function Mlt(){Mlt=U,qEt=Kr((kA(),he(le(vIe,1),it,392,0,[mIe,Gde,zB])))}function Dlt(){Dlt=U,xCt=Kr((FN(),he(le(GIe,1),it,393,0,[WW,UIe,VIe])))}function Ilt(){Ilt=U,qCt=Kr((PU(),he(le(lOe,1),it,300,0,[bge,uOe,cOe])))}function Olt(){Olt=U,HCt=Kr((tV(),he(le(hOe,1),it,445,0,[GB,QW,mge])))}function Nlt(){Nlt=U,VCt=Kr((fV(),he(le(UCt,1),it,456,0,[vge,yge,wge])))}function Plt(){Plt=U,WCt=Kr((YU(),he(le(gOe,1),it,394,0,[dOe,Tge,fOe])))}function Blt(){Blt=U,bSt=Kr((cU(),he(le(OOe,1),it,439,0,[Age,IOe,DOe])))}function Flt(){Flt=U,rEt=Kr((jw(),he(le(nEt,1),it,464,0,[jB,cM,FW])))}function Rlt(){Rlt=U,C7t=Kr((Ol(),he(le(E7t,1),it,471,0,[Fd,Vb,m0])))}function jlt(){jlt=U,T7t=Kr((e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])))}function $lt(){$lt=U,_7t=Kr((al(),he(le(S7t,1),it,472,0,[s1,Gb,v0])))}function zlt(){zlt=U,f7t=Kr((Nl(),he(le(uc,1),it,108,0,[R_e,Cc,o4])))}function qlt(){qlt=U,K8t=Kr((hA(),he(le(DAe,1),it,391,0,[p1e,g1e,b1e])))}function Hlt(){Hlt=U,__t=Kr((op(),he(le(dPe,1),it,346,0,[gY,F2,IM])))}function Ult(){Ult=U,ySt=Kr((HN(),he(le(Lge,1),it,444,0,[tY,nY,rY])))}function Vlt(){Vlt=U,T_t=Kr((F1(),he(le(tPe,1),it,278,0,[iC,M4,sC])))}function Glt(){Glt=U,z_t=Kr((gx(),he(le(yPe,1),it,280,0,[wPe,I4,yY])))}function P1(e,t){return!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),oue(e.o,t)}function Ovn(e,t){var n;e.C&&(n=l(Zo(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function G6e(e){var t,n,r,s;s=e.d,t=e.a,n=e.b,r=e.c,e.d=n,e.a=r,e.b=s,e.c=t}function Nvn(e){return!e.g&&(e.g=new DS),!e.g.b&&(e.g.b=new qQe(e)),e.g.b}function fN(e){return!e.g&&(e.g=new DS),!e.g.c&&(e.g.c=new VQe(e)),e.g.c}function Pvn(e){return!e.g&&(e.g=new DS),!e.g.d&&(e.g.d=new HQe(e)),e.g.d}function Bvn(e){return!e.g&&(e.g=new DS),!e.g.a&&(e.g.a=new UQe(e)),e.g.a}function Fvn(e,t,n,r){return n&&(r=n.Rh(t,vs(n.Dh(),e.c.uk()),null,r)),r}function Rvn(e,t,n,r){return n&&(r=n.Th(t,vs(n.Dh(),e.c.uk()),null,r)),r}function Koe(e,t,n,r){var s;return s=We(Ur,fi,28,t+1,15,1),qAn(s,e,t,n,r),s}function We(e,t,n,r,s,o){var f;return f=mgt(s,r),s!=10&&he(le(e,o),t,n,s,f),f}function jvn(e,t,n){var r,s;for(s=new wT(t,e),r=0;rn||t=0?e.Lh(n,!0,!0):Xw(e,t,!0)}function nwn(e,t,n){var r;return r=Y0t(e,t,n),e.b=new DU(r.c.length),pke(e,r)}function rwn(e){if(e.b<=0)throw ue(new Dc);return--e.b,e.a-=e.c.c,bt(e.a)}function iwn(e){var t;if(!e.a)throw ue(new sot);return t=e.a,e.a=ds(e.a),t}function swn(e){for(;!e.a;)if(!Dit(e.c,new e_(e)))return!1;return!0}function ux(e){var t;return Xr(e),De(e,204)?(t=l(e,204),t):new y8(e)}function awn(e){aU(),l(e.of((bi(),L4)),181).Fc((Pl(),lF)),e.qf(epe,null)}function aU(){aU=U,VSt=new m$,KSt=new v$,GSt=Wyn((bi(),epe),VSt,em,KSt)}function oU(){oU=U,qIe=new lye("LEAF_NUMBER",0),hge=new lye("NODE_SIZE",1)}function Joe(e){e.a=We(Ur,fi,28,e.b+1,15,1),e.c=We(Ur,fi,28,e.b,15,1),e.d=0}function own(e,t){e.a.Ne(t.d,e.b)>0&&(wt(e.c,new K4e(t.c,t.d,e.d)),e.b=t.d)}function n7e(e,t){if(e.g==null||t>=e.i)throw ue(new iae(t,e.i));return e.g[t]}function Xlt(e,t,n){if(CT(e,n),n!=null&&!e.fk(n))throw ue(new Jie);return n}function Zoe(e,t){return kN(t)!=10&&he(dh(t),t.Sm,t.__elementTypeId$,kN(t),e),e}function iT(e,t,n,r){var s;r=(Mw(),r||D_e),s=e.slice(t,n),A9e(s,e,t,n,-t,r)}function rf(e,t,n,r,s){return t<0?Xw(e,n,r):l(n,69).wk().yk(e,e.hi(),t,r,s)}function cwn(e,t){return Xi(ze(Ge(Q(e,(ft(),m3)))),ze(Ge(Q(t,m3))))}function Qlt(){Qlt=U,a7t=Kr((sT(),he(le(wK,1),it,304,0,[K0e,W0e,Y0e,X0e])))}function sT(){sT=U,K0e=new gq("All",0),W0e=new znt,Y0e=new Xnt,X0e=new $nt}function Ol(){Ol=U,Fd=new Lse(Dx,0),Vb=new Lse(lE,1),m0=new Lse(Ix,2)}function Jlt(){Jlt=U,WV(),lBe=gs,WAt=oa,hBe=new va(gs),YAt=new va(oa)}function Zlt(){Zlt=U,J7t=Kr((qw(),he(le(Q7t,1),it,417,0,[fB,hB,i1e,s1e])))}function eht(){eht=U,r8t=Kr((PA(),he(le(n8t,1),it,406,0,[mB,TK,EK,vB])))}function tht(){tht=U,e8t=Kr((mx(),he(le(Z7t,1),it,332,0,[gB,dB,pB,bB])))}function nht(){nht=U,cxt=Kr((tv(),he(le(PAe,1),it,389,0,[h4,NAe,x1e,k1e])))}function rht(){rht=U,nxt=Kr((xT(),he(le(txt,1),it,416,0,[f3,l4,u4,I6])))}function iht(){iht=U,Ixt=Kr((R1(),he(le(Dxt,1),it,421,0,[Vx,IE,OE,M1e])))}function sht(){sht=U,xxt=Kr((jU(),he(le(yxt,1),it,371,0,[L1e,XK,QK,TB])))}function aht(){aht=U,MTt=Kr((jy(),he(le(Dde,1),it,203,0,[NW,Mde,W6,K6])))}function oht(){oht=U,OTt=Kr((Td(),he(le(UDe,1),it,284,0,[I2,HDe,Nde,Pde])))}function bN(){bN=U,jLe=new eye(Id,0),sW=new eye("IMPROVE_STRAIGHTNESS",1)}function cht(e,t){var n,r;return r=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),cx(e,r,n)}function uht(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)Oe(e,t);return E6e(e)}function r7e(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function lht(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function uwn(e){return De(e,180)?""+l(e,180).a:e==null?null:Tc(e)}function lwn(e){return De(e,180)?""+l(e,180).a:e==null?null:Tc(e)}function hht(e,t){if(t.a)throw ue(new Ic(M3t));sa(e.a,t),t.a=e,!e.j&&(e.j=t)}function i7e(e,t){Rq.call(this,t.zd(),t.yd()&-16449),tr(e),this.a=e,this.c=t}function hwn(e,t){return new Oae(t,yw(Xa(t.e),t.f.a+e,t.f.b+e),(Hn(),!1))}function fwn(e,t){return zk(),wt(e,new fa(t,bt(t.e.c.length+t.g.c.length)))}function dwn(e,t){return zk(),wt(e,new fa(t,bt(t.e.c.length+t.g.c.length)))}function fht(){fht=U,zCt=Kr((bV(),he(le(oOe,1),it,354,0,[pge,sOe,aOe,iOe])))}function dht(){dht=U,hCt=Kr((TA(),he(le(RIe,1),it,353,0,[ige,GW,rge,nge])))}function ght(){ght=U,$Et=Kr((yx(),he(le(aIe,1),it,405,0,[zW,hM,fM,dM])))}function pht(){pht=U,E_t=Kr((cp(),he(le(ipe,1),it,223,0,[rpe,aF,aC,a9])))}function bht(){bht=U,L_t=Kr((Ih(),he(le(A_t,1),it,291,0,[cF,Cg,tm,oF])))}function mht(){mht=U,j_t=Kr((gh(),he(le(FM,1),it,386,0,[fF,Ov,hF,D4])))}function vht(){vht=U,H_t=Kr((QU(),he(le(SPe,1),it,320,0,[ope,TPe,CPe,EPe])))}function wht(){wht=U,G_t=Kr((zU(),he(le(V_t,1),it,415,0,[cpe,APe,_Pe,LPe])))}function cU(){cU=U,Age=new Zse(Wyt,0),IOe=new Zse(SCe,1),DOe=new Zse(Id,2)}function Ly(e,t,n,r,s){return tr(e),tr(t),tr(n),tr(r),tr(s),new L5e(e,t,r)}function yht(e,t){var n;return n=l(ox(e.e,t),400),n?(i5e(n),n.e):null}function sl(e,t){var n;return n=bc(e,t,0),n==-1?!1:(l2(e,n),!0)}function xht(e,t,n){var r;return xb(e),r=new on,r.a=t,e.a.Nb(new ntt(r,n)),r.a}function gwn(e){var t;return xb(e),t=We(Oa,tc,28,0,15,1),M5(e.a,new E8(t)),t}function s7e(e){var t;if(!pce(e))throw ue(new Dc);return e.e=1,t=e.d,e.d=null,t}function f2(e){var t;return xc(e)&&(t=0-e,!isNaN(t))?t:Sb(TT(e))}function bc(e,t,n){for(;n=0?lV(e,n,!0,!0):Xw(e,t,!0)}function o7e(e){var t;return t=Km(Gn(e,32)),t==null&&(Ku(e),t=Km(Gn(e,32))),t}function c7e(e){var t;return e.Oh()||(t=wr(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function _ht(e,t){oAe=new Ot,t8t=t,jL=e,l(jL.b,68),Y6e(jL,oAe,null),qvt(jL)}function hA(){hA=U,p1e=new Dse("XY",0),g1e=new Dse("X",1),b1e=new Dse("Y",2)}function al(){al=U,s1=new Mse("TOP",0),Gb=new Mse(lE,1),v0=new Mse(jTe,2)}function ip(){ip=U,_B=new Fse(Id,0),j6=new Fse("TOP",1),Gx=new Fse(jTe,2)}function xN(){xN=U,Bde=new nye("INPUT_ORDER",0),Fde=new nye("PORT_DEGREE",1)}function aT(){aT=U,f_e=qu(Ql,Ql,524287),U6t=qu(0,0,NP),d_e=Hoe(1),Hoe(2),g_e=Hoe(0)}function ice(e){var t;return e.d!=e.r&&(t=Of(e),e.e=!!t&&t.lk()==U5t,e.d=t),e.e}function sce(e,t,n){var r;return r=e.g[t],j_(e,t,e.Zi(t,n)),e.Ri(t,n,r),e.Ni(),r}function fU(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function ace(e,t){var n;for(Xr(e),Xr(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function B1(e,t){var n;return n=l(or(e.e,t),400),n?(crt(e,n),n.e):null}function Aht(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function My(e,t){var n=e.a[t],r=(Ice(),z0e)[typeof n];return r?r(n):m8e(typeof n)}function Pc(e,t){var n,r;return Mb(e),r=new H6e(t,e.a),n=new Nit(r),new vn(e,n)}function oce(e){var t;return t=e.b.c.length==0?null:Rt(e.b,0),t!=null&&mce(e,0),t}function vwn(e,t){var n,r,s;s=t.c.i,n=l(or(e.f,s),60),r=n.d.c-n.e.c,$7e(t.a,r,0)}function u7e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n=0;)++t[0]}function wwn(e,t){Vu(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function ywn(e,t){Gu(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function xwn(e,t){Rw(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function kwn(e,t){Fw(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function Twn(e,t,n){return q8(new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(tr(t),t)}function Ewn(e,t){return De(t,102)&&l(t,19).Bb&Lo?new sae(t,e):new wT(t,e)}function Cwn(e,t){return De(t,102)&&l(t,19).Bb&Lo?new sae(t,e):new wT(t,e)}function kN(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function Dht(e,t){return t==(Aae(),Aae(),r7t)?e.toLocaleLowerCase():e.toLowerCase()}function Iht(e){if(!e.e)throw ue(new Dc);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function l7e(e){if(!e.c)throw ue(new Dc);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function Oht(e){var t;for(++e.a,t=e.c.a.length;e.ae.a[r]&&(r=n);return r}function Nht(e){var t;return t=l(Q(e,(ft(),p3)),313),t?t.a==e:!1}function Pht(e){var t;return t=l(Q(e,(ft(),p3)),313),t?t.i==e:!1}function Bht(){Bht=U,Q8t=Kr((so(),he(le(IAe,1),it,367,0,[w0,xg,pu,Cu,wc])))}function Fht(){Fht=U,Nxt=Kr((zy(),he(le(Oxt,1),it,375,0,[EB,eW,tW,ZK,JK])))}function Rht(){Rht=U,Vxt=Kr((w2(),he(le(PLe,1),it,348,0,[q1e,NLe,H1e,RE,FE])))}function jht(){jht=U,DTt=Kr((NA(),he(le(FDe,1),it,323,0,[BDe,Ide,Ode,iM,sM])))}function $ht(){$ht=U,i9t=Kr((lf(),he(le(fMe,1),it,171,0,[DB,XL,Yb,QL,b4])))}function zht(){zht=U,wCt=Kr((TV(),he(le(vCt,1),it,368,0,[uge,age,lge,oge,cge])))}function qht(){qht=U,wSt=Kr((VA(),he(le(vSt,1),it,373,0,[Z6,t9,kM,xM,YB])))}function Hht(){Hht=U,CSt=Kr((iP(),he(le(qOe,1),it,324,0,[jOe,Oge,zOe,Nge,$Oe])))}function Uht(){Uht=U,k_t=Kr((ea(),he(le(MM,1),it,88,0,[J1,yc,hc,Q1,vf])))}function Vht(){Vht=U,WSt=Kr((n1(),he(le(Eg,1),it,170,0,[Bn,pa,zd,Av,P2])))}function Ght(){Ght=U,D_t=Kr((r6(),he(le(NM,1),it,256,0,[nm,uF,gPe,OM,pPe])))}function Kht(){Kht=U,N_t=Kr((_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])))}function dU(){dU=U,z_e=new G3e("BY_SIZE",0),e1e=new G3e("BY_SIZE_AND_SHAPE",1)}function gU(){gU=U,h1e=new Y3e("EADES",0),_K=new Y3e("FRUCHTERMAN_REINGOLD",1)}function TN(){TN=U,rW=new Z3e("READING_DIRECTION",0),BLe=new Z3e("ROTATION",1)}function fA(){fA=U,sxt=new lI,axt=new eZ,rxt=new Sm,ixt=new lu,oxt=new tZ}function Wht(e){this.b=new mt,this.a=new mt,this.c=new mt,this.d=new mt,this.e=e}function Yht(e){this.g=e,this.f=new mt,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function Xht(e,t,n){Qq.call(this),d7e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function Dwn(e,t,n){var r,s;for(s=new K(n);s.a=0&&t0?t-1:t,LZe(iln(yft(e5e(new M8,n),e.n),e.j),e.k)}function oc(e){var t,n;n=(t=new nse,t),zr((!e.q&&(e.q=new nt(Vf,e,11,10)),e.q),n)}function h7e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Xg(e),e.o)}function pU(e){return su(e,Ni)>0?Ni:su(e,ao)<0?ao:Yr(e)}function Dy(e){return e<3?(Mh(e,h3t),e+1):e=-.01&&e.a<=H1&&(e.a=0),e.b>=-.01&&e.b<=H1&&(e.b=0),e}function Q5(e){d6();var t,n;for(n=LCe,t=0;tn&&(n=e[t]);return n}function eft(e,t){var n;if(n=pP(e.Dh(),t),!n)throw ue(new Wn(qb+t+e0e));return n}function Iy(e,t){var n;for(n=e;ds(n);)if(n=ds(n),n==t)return!0;return!1}function qwn(e,t){var n,r,s;for(r=t.a.ld(),n=l(t.a.md(),16).gc(),s=0;se||e>t)throw ue(new w3e("fromIndex: 0, toIndex: "+e+_Te+t))}function Bw(e){if(e<0)throw ue(new Wn("Illegal Capacity: "+e));this.g=this.aj(e)}function f7e(e,t){return A1(),h0(Fb),b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)}function lce(e,t){var n,r,s,o;for(r=e.d,s=0,o=r.length;s0&&(e.a/=t,e.b/=t),e}function Ah(e){var t;return e.w?e.w:(t=Nbn(e),t&&!t.Vh()&&(e.w=t),t)}function oT(e,t){var n,r;r=e.a,n=R4n(e,t,null),r!=t&&!e.e&&(n=tE(e,t,n)),n&&n.oj()}function sft(e,t,n){var r,s;r=t;do s=ze(e.p[r.p])+n,e.p[r.p]=s,r=e.a[r.p];while(r!=t)}function aft(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function Ywn(e){var t;return e==null?null:(t=l(e,195),o9n(t,t.length))}function Oe(e,t){if(e.g==null||t>=e.i)throw ue(new iae(t,e.i));return e.Wi(t,e.g[t])}function Xwn(e,t){Cn();var n,r;for(r=new mt,n=0;n=14&&t<=16))),e}function Gr(e,t){var n;return tr(t),n=e[":"+t],UO(!!n,"Enum constant undefined: "+t),n}function Br(e,t,n,r,s,o){var f;return f=aoe(e,t),xft(n,f),f.i=s?8:0,f.f=r,f.e=s,f.g=o,f}function p7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=e,this.a=n}function b7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=e,this.a=n}function m7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=e,this.a=n}function v7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=e,this.a=n}function w7e(e,t,n,r,s){this.d=t,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=e,this.a=n}function kft(e,t){var n,r,s,o;for(r=t,s=0,o=r.length;s=0))throw ue(new Wn("tolerance ("+e+") must be >= 0"));return e}function Eft(e,t){var n;return De(t,44)?e.c.Mc(t):(n=oue(e,t),nV(e,t),n)}function ec(e,t,n){return ev(e,t),Bu(e,n),d2(e,0),Oy(e,1),v2(e,!0),m2(e,!0),e}function CN(e,t){var n;if(n=e.gc(),t<0||t>n)throw ue(new yy(t,n));return new M4e(e,t)}function TU(e,t){e.b=b.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),wt(e.a,t)}function Cft(e){my(e.c>=0),l6n(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function EU(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=l(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function a3n(e){var t,n,r,s;for(n=e.a,r=0,s=n.length;r=0}function S7e(e,t){e.r>0&&e.c0&&e.g!=0&&S7e(e.i,t/e.r*e.i.d))}function _7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.c))}function dce(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,4,n,e.c))}function gT(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,2,n,e.k))}function gce(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,2,n,e.D))}function SU(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,8,n,e.f))}function _U(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,7,n,e.i))}function A7e(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,8,n,e.a))}function L7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,n,e.b))}function M7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,n,e.b))}function D7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.c))}function I7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.d))}function d3n(e,t,n){var r;e.b=t,e.a=n,r=(e.a&512)==512?new UJe:new sz,e.c=_Sn(r,e.b,e.a)}function Fft(e,t){return dp(e.e,t)?(Ro(),ice(t)?new uH(t,e):new AO(t,e)):new hnt(t,e)}function g3n(e){var t,n;return 0>e?new N3e:(t=e+1,n=new Yut(t,e),new u4e(null,n))}function p3n(e,t){Cn();var n;return n=new P8(1),Da(e)?sc(n,e,t):Ru(n.f,e,t),new er(n)}function b3n(e,t){var n,r;return n=e.c,r=t.e[e.p],r>0?l(Rt(n.a,r-1),10):null}function m3n(e,t){var n,r;return n=e.o+e.p,r=t.o+t.p,nt?(t<<=1,t>0?t:iL):t}function pce(e){switch(Hye(e.e!=3),e.e){case 2:return!1;case 0:return!0}return Svn(e)}function jft(e,t){var n;return De(t,8)?(n=l(t,8),e.a==n.a&&e.b==n.b):!1}function w3n(e,t){var n;n=new Ot,l(t.b,68),l(t.b,68),l(t.b,68),Uu(t.a,new $4e(e,n,t))}function $ft(e,t){var n,r;for(r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),eP(e,n.ld(),n.md())}function O7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,11,n,e.d))}function AU(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,13,n,e.j))}function N7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,21,n,e.b))}function y3n(e,t){(JH(),G1?null:t.c).length==0&&nit(t,new Dt),sc(e.a,G1?null:t.c,t)}function x3n(e,t){t.Ug("Hierarchical port constraint processing",1),j6n(e),sOn(e),t.Vg()}function $w(){$w=U,g3=new Ise("START",0),Kb=new Ise("MIDDLE",1),d3=new Ise("END",2)}function LU(){LU=U,KW=new uye("P1_NODE_PLACEMENT",0),J6=new uye("P2_EDGE_ROUTING",1)}function Cb(){Cb=U,Ux=new Ki(JTe),MK=new Ki(tyt),zL=new Ki(nyt),wB=new Ki(ryt)}function zw(e){var t;return Lae(e.f.g,e.d),br(e.b),e.c=e.a,t=l(e.a.Pb(),44),e.b=K7e(e),t}function P7e(e){var t;return e.b==null?(r2(),r2(),xF):(t=e.ul()?e.tl():e.sl(),t)}function zft(e,t){var n;return n=t==null?-1:bc(e.b,t,0),n<0?!1:(mce(e,n),!0)}function f0(e,t){var n;return tr(t),n=t.g,e.b[n]?!1:(Ss(e.b,n,t),++e.c,!0)}function MU(e,t){var n,r;return n=1-t,r=e.a[n],e.a[n]=r.a[t],r.a[t]=e,e.b=!0,r.b=!1,r}function k3n(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),272),e.b=!0,sa(e.e,n),n.b=e}function T3n(e,t){var n,r;return n=l(Q(e,(Nt(),k4)),8),r=l(Q(t,k4),8),Xi(n.b,r.b)}function bce(e,t,n){var r,s,o;return o=t>>5,s=t&31,r=xa(vb(e.n[n][o],Yr(u0(s,1))),3),r}function qft(e,t,n){var r,s,o;for(o=e.a.length-1,s=e.b,r=0;r0?1:0:(!e.c&&(e.c=iN(tu(e.f))),e.c).e}function Qft(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function _3n(e,t){return xT(),e==f3&&t==l4||e==l4&&t==f3||e==I6&&t==u4||e==u4&&t==I6}function A3n(e,t){return xT(),e==f3&&t==u4||e==f3&&t==I6||e==l4&&t==I6||e==l4&&t==u4}function Jft(e,t){return A1(),h0(H1),b.Math.abs(0-t)<=H1||t==0||isNaN(0)&&isNaN(t)?0:e/t}function Zft(e,t){return ze(Ge(uh(zN(gc(new vn(null,new kn(e.c.b,16)),new iXe(e)),t))))}function j7e(e,t){return ze(Ge(uh(zN(gc(new vn(null,new kn(e.c.b,16)),new rXe(e)),t))))}function L3n(){return Ho(),he(le(Q1e,1),it,259,0,[oW,mf,GL,cW,qE,R6,KL,$E,zE,uW])}function M3n(){return Nf(),he(le(qDe,1),it,243,0,[PW,BB,FB,jDe,$De,RDe,zDe,BW,C3,E4])}function D3n(e,t){var n;t.Ug("General Compactor",1),n=B5n(l(at(e,(Pb(),dge)),393)),n.Cg(e)}function I3n(e,t){var n,r;return n=l(at(e,(Pb(),YW)),17),r=l(at(t,YW),17),iu(n.a,r.a)}function $7e(e,t,n){var r,s;for(s=Fr(e,0);s.b!=s.d.c;)r=l(Pr(s),8),r.a+=t,r.b+=n;return e}function pA(e,t,n){var r;for(r=e.b[n&e.f];r;r=r.b)if(n==r.a&&yd(t,r.g))return r;return null}function bA(e,t,n){var r;for(r=e.c[n&e.f];r;r=r.d)if(n==r.f&&yd(t,r.i))return r;return null}function O3n(e,t,n){var r,s,o;for(r=0,s=0;s>>31;r!=0&&(e[n]=r)}function xce(e,t,n,r,s,o){var f;this.c=e,f=new mt,wxe(e,f,t,e.b,n,r,s,o),this.a=new Ua(f,0)}function e0t(){this.c=new tq(0),this.b=new tq(ACe),this.d=new tq(zyt),this.a=new tq(Hhe)}function af(e,t,n,r,s,o,f){Vr.call(this,e,t),this.d=n,this.e=r,this.c=s,this.b=o,this.a=O1(f)}function Ns(e,t,n,r,s,o,f,g,w,T,C,L,F){return s2t(e,t,n,r,s,o,f,g,w,T,C,L,F),eue(e,!1),e}function N3n(e){return e.b.c.i.k==(Jn(),Ks)?l(Q(e.b.c.i,(ft(),zi)),12):e.b.c}function t0t(e){return e.b.d.i.k==(Jn(),Ks)?l(Q(e.b.d.i,(ft(),zi)),12):e.b.d}function P3n(e){var t;return t=GH(e),pw(t.a,0)?(sq(),sq(),i7t):(sq(),new Brt(t.b))}function kce(e){var t;return t=v6e(e),pw(t.a,0)?(hy(),hy(),G0e):(hy(),new wae(t.b))}function Tce(e){var t;return t=v6e(e),pw(t.a,0)?(hy(),hy(),G0e):(hy(),new wae(t.c))}function n0t(e){switch(e.g){case 2:return _t(),Zn;case 4:return _t(),sr;default:return e}}function r0t(e){switch(e.g){case 1:return _t(),Mr;case 3:return _t(),Xn;default:return e}}function i0t(e){switch(e.g){case 0:return new Une;case 1:return new Vne;default:return null}}function hx(){hx=U,A1e=new ws("edgelabelcenterednessanalysis.includelabel",(Hn(),Ub))}function z7e(){z7e=U,tEt=Ed(Cnt(hi(hi(new Js,(so(),pu),(po(),qK)),Cu,FK),wc),zK)}function s0t(){s0t=U,sEt=Ed(Cnt(hi(hi(new Js,(so(),pu),(po(),qK)),Cu,FK),wc),zK)}function Ece(){Ece=U,HM=new jJe,bpe=he(le(fl,1),A6,179,0,[]),SAt=he(le(Vf,1),KSe,62,0,[])}function pT(){pT=U,xB=new X3e("TO_INTERNAL_LTR",0),C1e=new X3e("TO_INPUT_DIRECTION",1)}function xl(){xl=U,zAe=new nb,jAe=new ty,$Ae=new rZ,RAe=new _m,qAe=new iZ,HAe=new sZ}function B3n(e,t){t.Ug(vyt,1),U8e(yln(new t_((p_(),new foe(e,!1,!1,new uS))))),t.Vg()}function F3n(e,t,n){n.Ug("DFS Treeifying phase",1),e6n(e,t),JCn(e,t),e.a=null,e.b=null,n.Vg()}function SN(e,t){return Hn(),Da(e)?z6e(e,Zr(t)):py(e)?Wae(e,Ge(t)):gy(e)?_gn(e,Pt(t)):e.Fd(t)}function mA(e,t){var n,r;for(tr(t),r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),e.zc(n.ld(),n.md())}function R3n(e,t,n){var r;for(r=n.Kc();r.Ob();)if(!YH(e,t,r.Pb()))return!1;return!0}function j3n(e,t,n,r,s){var o;return n&&(o=vs(t.Dh(),e.c),s=n.Rh(t,-1-(o==-1?r:o),null,s)),s}function $3n(e,t,n,r,s){var o;return n&&(o=vs(t.Dh(),e.c),s=n.Th(t,-1-(o==-1?r:o),null,s)),s}function a0t(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function z3n(e){if(tr(e),e.length==0)throw ue(new gd("Zero length BigInteger"));K_n(this,e)}function q7e(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function o0t(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new mt,Zkn(this),Cn(),Gs(this.a,null)}function H7e(e,t){t.q=e,e.d=b.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),wt(e.a,t)}function bT(e,t){var n,r,s,o;return s=e.c,n=e.c+e.b,o=e.d,r=e.d+e.a,t.a>s&&t.ao&&t.bs?n=s:Yn(t,n+1),e.a=ef(e.a,0,t)+(""+r)+F5e(e.a,n)}function b0t(e,t){e.a=fo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d=fo(e.d,t)}function W3n(e,t){return t1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw ue(new Dc)}function y0t(e){switch(e.a.g){case 1:return new Ctt;case 3:return new Cgt;default:return new bie}}function V7e(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return m6e(e,t)}function tu(e){return PP>22),s=e.h+t.h+(r>>22),qu(n&Ql,r&Ql,s&pp)}function A0t(e,t){var n,r,s;return n=e.l-t.l,r=e.m-t.m+(n>>22),s=e.h-t.h+(r>>22),qu(n&Ql,r&Ql,s&pp)}function pyn(e){var t,n;for(cIn(e),n=new K(e.d);n.ar)throw ue(new yy(t,r));return e.Si()&&(n=Got(e,n)),e.Ei(t,n)}function kT(e,t,n,r,s){var o,f;for(f=n;f<=s;f++)for(o=t;o<=r;o++)s6(e,o,f)||UV(e,o,f,!0,!1)}function Lyn(e){d6();var t,n,r;for(n=We(Ca,dt,8,2,0,1),r=0,t=0;t<2;t++)r+=.5,n[t]=k7n(r,e);return n}function TT(e){var t,n,r;return t=~e.l+1&Ql,n=~e.m+(t==0?1:0)&Ql,r=~e.h+(t==0&&n==0?1:0)&pp,qu(t,n,r)}function Z7e(e){var t;if(e<0)return ao;if(e==0)return 0;for(t=iL;!(t&e);t>>=1);return t}function Dce(e,t,n){return e>=128?!1:e<64?O_(xa(u0(1,e),n),0):O_(xa(u0(1,e-64),t),0)}function PN(e,t,n){return n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n)),e}function rt(e,t,n){return n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n)),e}function j0t(e){var t,n;return n=new eU,mc(n,e),rt(n,(Cb(),Ux),e),t=new Nr,iLn(e,n,t),IDn(e,n,t),n}function $0t(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function z0t(e,t){var n,r,s,o;for(n=!1,r=e.a[t].length,o=0;o=0,"Negative initial capacity"),UO(t>=0,"Non-positive load factor"),Dl(this)}function Dyn(e,t,n,r,s){var o,f;if(f=e.length,o=n.length,t<0||r<0||s<0||t+s>f||r+s>o)throw ue(new Vwe)}function r8e(e,t){Cn();var n,r,s,o,f;for(f=!1,r=t,s=0,o=r.length;s1||t>=0&&e.b<3)}function Nce(e){var t,n,r;t=~e.l+1&Ql,n=~e.m+(t==0?1:0)&Ql,r=~e.h+(t==0&&n==0?1:0)&pp,e.l=t,e.m=n,e.h=r}function a8e(e){Cn();var t,n,r;for(r=1,n=e.Kc();n.Ob();)t=n.Pb(),r=31*r+(t!=null?ts(t):0),r=r|0;return r}function Byn(e,t,n,r,s){var o;return o=Y9e(e,t),n&&Nce(o),s&&(e=L7n(e,t),r?Hb=TT(e):Hb=qu(e.l,e.m,e.h)),o}function Q0t(e,t,n){e.g=Jue(e,t,(_t(),sr),e.b),e.d=Jue(e,n,sr,e.b),!(e.g.c==0||e.d.c==0)&&Apt(e)}function J0t(e,t,n){e.g=Jue(e,t,(_t(),Zn),e.j),e.d=Jue(e,n,Zn,e.j),!(e.g.c==0||e.d.c==0)&&Apt(e)}function o8e(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return V8e(e,t)}function Fyn(e,t){switch(t.g){case 0:De(e.b,641)||(e.b=new p0t);break;case 1:De(e.b,642)||(e.b=new gst)}}function Z0t(e){switch(e.g){case 0:return new Kne;default:throw ue(new Wn(UG+(e.f!=null?e.f:""+e.g)))}}function e1t(e){switch(e.g){case 0:return new dl;default:throw ue(new Wn(UG+(e.f!=null?e.f:""+e.g)))}}function Ryn(e,t,n){return!Lk(ji(new vn(null,new kn(e.c,16)),new Vl(new $tt(t,n)))).Bd((Bm(),qx))}function t1t(e,t){return q8(RT(l(Q(t,(Vc(),_3)),88)),new lt(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function jyn(e,t){for(;e.g==null&&!e.c?o6e(e):e.g==null||e.i!=0&&l(e.g[e.i-1],51).Ob();)Hln(t,IV(e))}function Zm(e){var t,n;for(n=new K(e.a.b);n.ar?1:0}function qyn(e){return wt(e.c,(fx(),USt)),f7e(e.a,ze(Ge(It((aue(),DW)))))?new rre:new uQe(e)}function Hyn(e){for(;!e.d||!e.d.Ob();)if(e.b&&!h_(e.b))e.d=l(Q8(e.b),51);else return null;return e.d}function u8e(e){switch(e.g){case 1:return zyt;default:case 2:return 0;case 3:return Hhe;case 4:return ACe}}function Uyn(){Ii();var e;return kpe||(e=lfn(Bb("M",!0)),e=gH(Bb("M",!1),e),kpe=e,kpe)}function zU(){zU=U,cpe=new Iq("ELK",0),APe=new Iq("JSON",1),_Pe=new Iq("DOT",2),LPe=new Iq("SVG",3)}function xA(){xA=U,$de=new zse("STACKED",0),jde=new zse("REVERSE_STACKED",1),RB=new zse("SEQUENCED",2)}function kA(){kA=U,mIe=new Kse(Id,0),Gde=new Kse("MIDDLE_TO_MIDDLE",1),zB=new Kse("AVOID_OVERLAP",2)}function ST(){ST=U,CLe=new UZ,SLe=new vI,Sxt=new _j,Cxt=new VZ,Ext=new r8,ELe=(tr(Ext),new ke)}function qU(){qU=U,fPe=new mw(15),S_t=new qa((bi(),B2),fPe),DM=r9,cPe=s_t,uPe=Mv,hPe=a7,lPe=A4}function Z5(e,t){var n,r,s,o,f;for(r=t,s=0,o=r.length;s=e.b.c.length||(h8e(e,2*t+1),n=2*t+2,n0&&(t.Cd(n),n.i&&G4n(n))}function f8e(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:Sse(xa(e[r],Uo),xa(t[r],Uo))?-1:1}function i1t(e,t,n){var r,s;this.g=e,this.c=t,this.a=this,this.d=this,s=Rft(n),r=We(R6t,IP,227,s,0,1),this.b=r}function jce(e,t,n,r,s){var o,f;for(f=n;f<=s;f++)for(o=t;o<=r;o++)if(s6(e,o,f))return!0;return!1}function Xyn(e,t){var n,r;for(r=e.Zb().Cc().Kc();r.Ob();)if(n=l(r.Pb(),16),n.Hc(t))return!0;return!1}function s1t(e,t,n){var r,s,o,f;for(tr(n),f=!1,o=e.fd(t),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),f=!0;return f}function $ce(e,t){var n,r;return r=l(Gn(e.a,4),129),n=We(gpe,m0e,424,t,0,1),r!=null&&gu(r,0,n,0,r.length),n}function a1t(e,t){var n;return n=new gle((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function Qyn(e,t){var n;return e===t?!0:De(t,85)?(n=l(t,85),p9e(Rm(e),n.vc())):!1}function o1t(e,t,n){var r,s;for(s=n.Kc();s.Ob();)if(r=l(s.Pb(),44),e.Be(t,r.md()))return!0;return!1}function c1t(e,t,n){return e.d[t.p][n.p]||(e7n(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function Jyn(e,t){var n;return!e||e==t||!rs(t,(ft(),b3))?!1:(n=l(Q(t,(ft(),b3)),10),n!=e)}function zce(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function u1t(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function l1t(e){Qot.call(this,"The given string does not match the expected format for individual spacings.",e)}function Zyn(e,t){var n;t.Ug("Min Size Preprocessing",1),n=E9e(e),Vi(e,(fg(),vM),n.a),Vi(e,JW,n.b),t.Vg()}function e4n(e){var t,n,r;for(t=0,r=We(Ca,dt,8,e.b,0,1),n=Fr(e,0);n.b!=n.d.c;)r[t++]=l(Pr(n),8);return r}function qce(e,t,n){var r,s,o;for(r=new os,o=Fr(n,0);o.b!=o.d.c;)s=l(Pr(o),8),ci(r,new xo(s));s1t(e,t,r)}function t4n(e,t){var n;return n=fo(e,t),Sse(Doe(e,t),0)|Pq(Doe(e,n),0)?n:fo(DP,Doe(vb(n,63),1))}function n4n(e,t){var n,r;return n=l(e.d.Bc(t),16),n?(r=e.e.hc(),r.Gc(n),e.e.d-=n.gc(),n.$b(),r):null}function h1t(e){var t;if(t=e.a.c.length,t>0)return Uk(t-1,e.a.c.length),l2(e.a,t-1);throw ue(new uJe)}function f1t(e,t,n){if(e>t)throw ue(new Wn(oG+e+_3t+t));if(e<0||t>n)throw ue(new w3e(oG+e+MTe+t+_Te+n))}function _T(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),gce(e,t==null?null:(tr(t),t)),e.C&&e.hl(null)}function r4n(e,t){var n;n=It((aue(),DW))!=null&&t.Sg()!=null?ze(Ge(t.Sg()))/ze(Ge(It(DW))):1,Ti(e.b,t,n)}function d8e(e,t){var n,r;if(r=e.c[t],r!=0)for(e.c[t]=0,e.d-=r,n=t+1;nFG?e-n>FG:n-e>FG}function T1t(e,t){var n;for(n=0;ns&&(Zgt(t.q,s),r=n!=t.q.d)),r}function E1t(e,t){var n,r,s,o,f,g,w,T;return w=t.i,T=t.j,r=e.f,s=r.i,o=r.j,f=w-s,g=T-o,n=b.Math.sqrt(f*f+g*g),n}function w8e(e,t){var n,r;return r=rV(e),r||(n=(Ble(),hbt(t)),r=new JQe(n),zr(r.El(),e)),r}function jN(e,t){var n,r;return n=l(e.c.Bc(t),16),n?(r=e.hc(),r.Gc(n),e.d-=n.gc(),n.$b(),e.mc(r)):e.jc()}function g4n(e,t){var n,r;for(r=Yl(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,r),n=n|bP(e,t,r,!1),r=!r;F7e(e)}function C1t(e,t,n,r){var s,o;e.a=t,o=r?0:1,e.f=(s=new Rpt(e.c,e.a,n,o),new bmt(n,e.a,s,e.e,e.b,e.c==(jw(),cM)))}function UU(e){var t;return br(e.a!=e.b),t=e.d.a[e.a],Zrt(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function S1t(e){var t;if(e.c!=0)return e.c;for(t=0;t=e.c.b:e.a<=e.c.b))throw ue(new Dc);return t=e.a,e.a+=e.c.c,++e.b,bt(t)}function Kce(e){var t;return t=new Nye(e.a),mc(t,e),rt(t,(ft(),zi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Wce(e){return(_t(),ll).Hc(e.j)?ze(Ge(Q(e,(ft(),HE)))):Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a])).b}function b4n(e){var t;return t=$q(eEt),l(Q(e,(ft(),_u)),21).Hc((Ho(),qE))&&hi(t,(so(),pu),(po(),VK)),t}function m4n(e){var t,n,r,s;for(s=new Ys,r=new K(e);r.a=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return t<0?1/s:s}function k4n(e,t){var n,r,s;for(s=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return t<0?1/s:s}function Lb(e,t){var n,r,s,o;return o=(s=e?rV(e):null,o2t((r=t,s&&s.Gl(),r))),o==t&&(n=rV(e),n&&n.Gl()),o}function _1t(e,t,n){var r,s;return s=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,0,s,t),n?n.nj(r):n=r),n}function A1t(e,t,n){var r,s;return s=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,3,s,t),n?n.nj(r):n=r),n}function x8e(e,t,n){var r,s;return s=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,1,s,t),n?n.nj(r):n=r),n}function L1t(e){var t,n;if(e!=null)for(n=0;n=r||t-129&&e<128?(dst(),t=e+128,n=w_e[t],!n&&(n=w_e[t]=new Er(e)),n):new Er(e)}function LT(e){var t,n;return e>-129&&e<128?(Mst(),t=e+128,n=T_e[t],!n&&(n=T_e[t]=new Kn(e)),n):new Kn(e)}function I1t(e,t){var n;e.a.c.length>0&&(n=l(Rt(e.a,e.a.c.length-1),579),l8e(n,t))||wt(e.a,new Xut(t))}function A4n(e){c0();var t,n;t=e.d.c-e.e.c,n=l(e.g,154),Uu(n.b,new VYe(t)),Uu(n.c,new GYe(t)),Za(n.i,new KYe(t))}function O1t(e){var t;return t=new lb,t.a+="VerticalSegment ",mu(t,e.e),t.a+=" ",li(t,zye(new dse,new K(e.k))),t.a}function Yce(e,t){var n,r,s;for(n=0,s=Fc(e,t).Kc();s.Ob();)r=l(s.Pb(),12),n+=Q(r,(ft(),Bl))!=null?1:0;return n}function n6(e,t,n){var r,s,o;for(r=0,o=Fr(e,0);o.b!=o.d.c&&(s=ze(Ge(Pr(o))),!(s>n));)s>=t&&++r;return r}function N1t(e,t){Xr(e);try{return e._b(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function T8e(e,t){Xr(e);try{return e.Hc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function L4n(e,t){Xr(e);try{return e.Mc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function By(e,t){Xr(e);try{return e.xc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function M4n(e,t){Xr(e);try{return e.Bc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function CA(e,t){switch(t.g){case 2:case 1:return Fc(e,t);case 3:case 4:return uf(Fc(e,t))}return Cn(),Cn(),Co}function SA(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (name: ",Jo(t,e.zb),t.a+=")",t.a)}function D4n(e){var t;return t=l(B1(e.c.c,""),233),t||(t=new rx(_k(Sk(new sy,""),"Other")),y2(e.c.c,"",t)),t}function E8e(e,t,n){var r,s;return s=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,s,t),n?n.nj(r):n=r),n}function C8e(e,t,n){var r,s;return s=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,8,s,e.r),n?n.nj(r):n=r),n}function I4n(e,t,n){var r,s;return r=new rp(e.e,4,13,(s=t.c,s||(En(),td)),null,x2(e,t),!1),n?n.nj(r):n=r,n}function O4n(e,t,n){var r,s;return r=new rp(e.e,3,13,null,(s=t.c,s||(En(),td)),x2(e,t),!1),n?n.nj(r):n=r,n}function b2(e,t){var n,r;return n=l(t,691),r=n.el(),!r&&n.fl(r=De(t,90)?new fnt(e,l(t,29)):new Pct(e,l(t,156))),r}function $N(e,t,n){var r;e._i(e.i+1),r=e.Zi(t,n),t!=e.i&&gu(e.g,t,e.g,t+1,e.i-t),Ss(e.g,t,r),++e.i,e.Mi(t,n),e.Ni()}function N4n(e,t){var n;return t.a&&(n=t.a.a.length,e.a?li(e.a,e.b):e.a=new Eh(e.d),qct(e.a,t.a,t.d.length,n)),e}function P4n(e,t){var n;e.c=t,e.a=$5n(t),e.a<54&&(e.f=(n=t.d>1?$ct(t.a[0],t.a[1]):$ct(t.a[0],0),Vm(t.e>0?n:f2(n))))}function zN(e,t){var n;return n=new on,e.a.Bd(n)?(Pk(),new ose(tr(xht(e,n.a,t)))):(xb(e),Pk(),Pk(),N_e)}function P1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(kg,S2,10,e.c.length,0,1)),199),Sye(n,new K9),A2t(n,t))}function B1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(kg,S2,10,e.c.length,0,1)),199),Sye(n,new Qd),A2t(n,t))}function Fi(e,t){return Da(e)?wn(e,t):py(e)?Mit(e,t):gy(e)?(tr(e),qe(e)===qe(t)):w5e(e)?e.Fb(t):f5e(e)?Ant(e,t):f6e(e,t)}function of(e,t,n){if(t<0)D9e(e,n);else{if(!n.rk())throw ue(new Wn(qb+n.xe()+TL));l(n,69).wk().Ek(e,e.hi(),t)}}function F1t(e,t,n){if(e<0||t>n)throw ue(new rc(oG+e+MTe+t+", size: "+n));if(e>t)throw ue(new Wn(oG+e+_3t+t))}function R1t(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (source: ",Jo(t,e.d),t.a+=")",t.a)}function j1t(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function B4n(e){nG();var t,n,r,s;for(n=gue(),r=0,s=n.length;r=0?Db(e):Z_(Db(f2(e))))}function q1t(e,t,n,r,s,o){this.e=new mt,this.f=(qo(),aM),wt(this.e,e),this.d=t,this.a=n,this.b=r,this.f=s,this.c=o}function j4n(e,t,n){e.n=Fm(hm,[dt,yhe],[376,28],14,[n,da(b.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function H1t(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function U1t(e,t){var n,r;for(r=new ar(e);r.e!=r.i.gc();)if(n=l(dr(r),142),qe(t)===qe(n))return!0;return!1}function $4n(e,t,n){var r,s,o;return o=(s=GT(e.b,t),s),o&&(r=l(QV(vN(e,o),""),29),r)?Z9e(e,r,t,n):null}function Xce(e,t,n){var r,s,o;return o=(s=GT(e.b,t),s),o&&(r=l(QV(vN(e,o),""),29),r)?eke(e,r,t,n):null}function z4n(e,t){var n;if(n=J5(e.i,t),n==null)throw ue(new dd("Node did not exist in input."));return U7e(t,n),null}function q4n(e,t){var n;if(n=pP(e,t),De(n,331))return l(n,35);throw ue(new Wn(qb+t+"' is not a valid attribute"))}function AA(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new yy(t,r));if(e.Si()&&e.Hc(n))throw ue(new Wn(nB));e.Gi(t,n)}function H4n(e,t){t.Ug("Sort end labels",1),Os(ji(Pc(new vn(null,new kn(e.b,16)),new vj),new Z7),new yZ),t.Vg()}function ea(){ea=U,J1=new CO(uL,0),yc=new CO(Ix,1),hc=new CO(Dx,2),Q1=new CO(Ohe,3),vf=new CO("UP",4)}function HN(){HN=U,tY=new eae("P1_STRUCTURE",0),nY=new eae("P2_PROCESSING_ORDER",1),rY=new eae("P3_EXECUTION",2)}function V1t(){V1t=U,pCt=Ed(Ed(w_(Ed(Ed(w_(hi(new Js,(yx(),hM),(YA(),Vde)),fM),dIe),pIe),dM),uIe),bIe)}function U4n(e){switch(l(Q(e,(ft(),wv)),311).g){case 1:rt(e,wv,(ip(),Gx));break;case 2:rt(e,wv,(ip(),j6))}}function V4n(e){switch(e){case 0:return new IJe;case 1:return new MJe;case 2:return new DJe;default:throw ue(new rO)}}function G1t(e){switch(e.g){case 2:return yc;case 1:return hc;case 4:return Q1;case 3:return vf;default:return J1}}function L8e(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new Zh(t.d,0,t.a,t.b);default:return null}}function M8e(e){switch(e.g){case 1:return Zn;case 2:return Xn;case 3:return sr;case 4:return Mr;default:return jc}}function UN(e){switch(e.g){case 1:return Mr;case 2:return Zn;case 3:return Xn;case 4:return sr;default:return jc}}function KU(e){switch(e.g){case 1:return sr;case 2:return Mr;case 3:return Zn;case 4:return Xn;default:return jc}}function D8e(e,t,n,r){switch(t){case 1:return!e.n&&(e.n=new nt(nc,e,1,7)),e.n;case 2:return e.k}return Txe(e,t,n,r)}function LA(e,t,n){var r,s;return e.Pj()?(s=e.Qj(),r=rle(e,t,n),e.Jj(e.Ij(7,bt(n),r,t,s)),r):rle(e,t,n)}function Qce(e,t){var n,r,s;e.d==null?(++e.e,--e.f):(s=t.ld(),n=t.Bi(),r=(n&Ni)%e.d.length,Mvn(e,r,pbt(e,r,n,s)))}function MT(e,t){var n;n=(e.Bb&b0)!=0,t?e.Bb|=b0:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,10,n,t))}function DT(e,t){var n;n=(e.Bb&Zy)!=0,t?e.Bb|=Zy:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,12,n,t))}function IT(e,t){var n;n=(e.Bb&Cl)!=0,t?e.Bb|=Cl:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,15,n,t))}function OT(e,t){var n;n=(e.Bb&a4)!=0,t?e.Bb|=a4:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,11,n,t))}function G4n(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,dke(t.a,e.o,!0),dke(t.a,e.o,!1),rt(e.o,(Nt(),Ds),(Pa(),Iv)))}function K4n(e){var t;if(!e.a)throw ue(new ic("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,mot(e,t),bot(e,t)}function W4n(e,t){var n;if(n=or(e.k,t),n==null)throw ue(new dd("Port did not exist in input."));return U7e(t,n),null}function Y4n(e){var t,n;for(n=fbt(Ah(e)).Kc();n.Ob();)if(t=Zr(n.Pb()),XA(e,t))return Xmn((Wet(),gAt),t);return null}function K1t(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=l(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function X4n(e){var t,n;for(n=yb(new lb,91),t=!0;e.Ob();)t||(n.a+=To),t=!1,mu(n,e.Pb());return(n.a+="]",n).a}function Q4n(e){var t,n,r;for(t=new mt,r=new K(e.b);r.at?1:e==t?e==0?Xi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function Z4n(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Ss(e.a,e.c,null),t)}function e5n(e){var t,n,r;for(r=0,n=e.length,t=0;t=1?yc:Q1):n}function i5n(e){switch(l(Q(e,(Nt(),yp)),223).g){case 1:return new Ree;case 3:return new Hee;default:return new Fee}}function Mb(e){if(e.c)Mb(e.c);else if(e.d)throw ue(new ic("Stream already terminated, can't be modified or used"))}function Hw(e,t,n){var r;return r=e.a.get(t),e.a.set(t,n===void 0?null:n),r===void 0?(++e.c,++e.b.g):++e.d,r}function s5n(e,t,n){var r,s;for(s=e.a.ec().Kc();s.Ob();)if(r=l(s.Pb(),10),DN(n,l(Rt(t,r.p),16)))return r;return null}function O8e(e,t,n){var r;return r=0,t&&(R5(e.a)?r+=t.f.a/2:r+=t.f.b/2),n&&(R5(e.a)?r+=n.f.a/2:r+=n.f.b/2),r}function a5n(e,t,n){var r;r=n,!r&&(r=e5e(new M8,0)),r.Ug(syt,2),Jdt(e.b,t,r.eh(1)),xMn(e,t,r.eh(1)),EIn(t,r.eh(1)),r.Vg()}function N8e(e,t,n){var r,s;return r=(fb(),s=new LS,s),yU(r,t),wU(r,n),e&&zr((!e.a&&(e.a=new Qs(qh,e,5)),e.a),r),r}function Zce(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (identifier: ",Jo(t,e.k),t.a+=")",t.a)}function eue(e,t){var n;n=(e.Bb&nu)!=0,t?e.Bb|=nu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,18,n,t))}function P8e(e,t){var n;n=(e.Bb&nu)!=0,t?e.Bb|=nu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,18,n,t))}function NT(e,t){var n;n=(e.Bb&_d)!=0,t?e.Bb|=_d:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,16,n,t))}function B8e(e,t){var n;n=(e.Bb&Lo)!=0,t?e.Bb|=Lo:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,20,n,t))}function F8e(e){var t;return t=We(xf,Ad,28,2,15,1),e-=Lo,t[0]=(e>>10)+BP&ta,t[1]=(e&1023)+56320&ta,If(t,0,t.length)}function o5n(e){var t;return t=qy(e),t>34028234663852886e22?gs:t<-34028234663852886e22?oa:t}function fo(e,t){var n;return xc(e)&&xc(t)&&(n=e+t,PP"+Um(t.c):"e_"+ts(t),e.b&&e.c?Um(e.b)+"->"+Um(e.c):"e_"+ts(e))}function l5n(e,t){return wn(t.b&&t.c?Um(t.b)+"->"+Um(t.c):"e_"+ts(t),e.b&&e.c?Um(e.b)+"->"+Um(e.c):"e_"+ts(e))}function Uw(e,t){return A1(),h0(Fb),b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:et?1:bw(isNaN(e),isNaN(t))}function cp(){cp=U,rpe=new Aq(uL,0),aF=new Aq("POLYLINE",1),aC=new Aq("ORTHOGONAL",2),a9=new Aq("SPLINES",3)}function YU(){YU=U,dOe=new Jse("ASPECT_RATIO_DRIVEN",0),Tge=new Jse("MAX_SCALE_DRIVEN",1),fOe=new Jse("AREA_DRIVEN",2)}function h5n(e,t,n){var r;try{Nyn(e,t,n)}catch(s){throw s=ms(s),De(s,606)?(r=s,ue(new F6e(r))):ue(s)}return t}function f5n(e){var t,n,r;for(n=0,r=e.length;nt&&r.Ne(e[o-1],e[o])>0;--o)f=e[o],Ss(e,o,e[o-1]),Ss(e,o-1,f)}function an(e,t){var n,r,s,o,f;if(n=t.f,y2(e.c.d,n,t),t.g!=null)for(s=t.g,o=0,f=s.length;ot){Vct(n);break}}YO(n,t)}function b5n(e,t){var n,r,s;r=W5(t),s=ze(Ge(Ry(r,(Nt(),y0)))),n=b.Math.max(0,s/2-.5),RA(t,n,1),wt(e,new ltt(t,n))}function m5n(e,t,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(t,RCe),r=l(at(t,(V5(),Q6)),27),Ovt(e,r),n.dh(t,$G)}function R8e(e,t){e.n.c.length==0&&wt(e.n,new qH(e.s,e.t,e.i)),wt(e.b,t),vxe(l(Rt(e.n,e.n.c.length-1),209),t),pvt(e,t)}function MA(e){var t;this.a=(t=l(e.e&&e.e(),9),new Jh(t,l(o0(t,t.length),9),0)),this.b=We(ka,jn,1,this.a.a.length,5,1)}function Tc(e){var t;return Array.isArray(e)&&e.Tm===xe?Pm(dh(e))+"@"+(t=ts(e)>>>0,t.toString(16)):e.toString()}function v5n(e,t){return e.h==NP&&e.m==0&&e.l==0?(t&&(Hb=qu(0,0,0)),Mnt((aT(),d_e))):(t&&(Hb=qu(e.l,e.m,e.h)),qu(0,0,0))}function w5n(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function Q1t(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function j8e(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return D8e(e,t,n,r)}function XU(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw ue(new Wn("Node "+t+" not part of edge "+e))}function y5n(e,t){var n;if(n=pP(e.Dh(),t),De(n,102))return l(n,19);throw ue(new Wn(qb+t+"' is not a valid reference"))}function cf(e,t,n,r){if(t<0)ike(e,n,r);else{if(!n.rk())throw ue(new Wn(qb+n.xe()+TL));l(n,69).wk().Ck(e,e.hi(),t,r)}}function Wl(e){var t;if(e.b){if(Wl(e.b),e.b.d!=e.c)throw ue(new Yh)}else e.d.dc()&&(t=l(e.f.c.xc(e.e),16),t&&(e.d=t))}function x5n(e){vy();var t,n,r,s;for(t=e.o.b,r=l(l($i(e.r,(_t(),Mr)),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s=n.e,s.b+=t}function k5n(e){var t,n,r;for(this.a=new bd,r=new K(e);r.a=s)return t.c+n;return t.c+t.b.gc()}function E5n(e,t){jk();var n,r,s,o;for(r=uht(e),s=t,iT(r,0,r.length,s),n=0;n0&&(r+=s,++n);return n>1&&(r+=e.d*(n-1)),r}function S5n(e){var t,n,r,s,o;return o=r9e(e),n=oO(e.c),r=!n,r&&(s=new Yp,Z0(o,"knownLayouters",s),t=new jQe(s),Za(e.c,t)),o}function q8e(e){var t,n,r;for(r=new e2,r.a+="[",t=0,n=e.gc();t0&&(Yn(t-1,e.length),e.charCodeAt(t-1)==58)&&!rue(e,zM,qM))}function H8e(e,t){var n;return qe(e)===qe(t)?!0:De(t,92)?(n=l(t,92),e.e==n.e&&e.d==n.d&&Zmn(e,n.a)):!1}function px(e){switch(_t(),e.g){case 4:return Xn;case 1:return sr;case 3:return Mr;case 2:return Zn;default:return jc}}function M5n(e){var t,n;if(e.b)return e.b;for(n=G1?null:e.d;n;){if(t=G1?null:n.b,t)return t;n=G1?null:n.d}return Ok(),F_e}function U8e(e){var t,n,r;for(r=ze(Ge(e.a.of((bi(),hY)))),n=new K(e.a.Sf());n.a>5,t=e&31,r=We(Ur,fi,28,n+1,15,1),r[n]=1<3;)s*=10,--o;e=(e+(s>>1))/s|0}return r.i=e,!0}function vs(e,t){var n,r,s;if(n=(e.i==null&&Sd(e),e.i),r=t.Lj(),r!=-1){for(s=n.length;r=0;--r)for(t=n[r],s=0;s>1,this.k=t-1>>1}function V5n(e){aU(),l(e.of((bi(),em)),181).Hc((Xl(),vY))&&(l(e.of(L4),181).Fc((Pl(),o9)),l(e.of(em),181).Mc(vY))}function idt(e){var t,n;t=e.d==(xx(),NE),n=Kxe(e),t&&!n||!t&&n?rt(e.a,(Nt(),Rd),(lg(),JB)):rt(e.a,(Nt(),Rd),(lg(),QB))}function aue(){aue=U,cq(),DW=(Nt(),E3),_Tt=O1(he(le(jge,1),CCe,149,0,[NB,y0,V6,T3,T4,kde,WE,YE,Tde,nM,U6,Sv,G6]))}function G5n(e,t){var n;return n=l(kc(e,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),n.Qc(Cst(n.gc()))}function sdt(e,t){var n,r;if(r=new wa(e.a.ad(t,!0)),r.a.gc()<=1)throw ue(new _8);return n=r.a.ec().Kc(),n.Pb(),l(n.Pb(),40)}function K5n(e,t,n){var r,s;return r=ze(e.p[t.i.p])+ze(e.d[t.i.p])+t.n.b+t.a.b,s=ze(e.p[n.i.p])+ze(e.d[n.i.p])+n.n.b+n.a.b,s-r}function Q8e(e,t){var n;return e.i>0&&(t.lengthe.i&&Ss(t,e.i,null),t}function JU(e){var t;return e.Db&64?SA(e):(t=new Af(SA(e)),t.a+=" (instanceClassName: ",Jo(t,e.D),t.a+=")",t.a)}function ZU(e){var t,n,r,s;for(s=0,n=0,r=e.length;n0?(e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=pbt(e,s,r,t),n!=-1):!1}function adt(e,t){var n,r;e.a=fo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function J8e(e,t){switch(t){case 3:Fw(e,0);return;case 4:Rw(e,0);return;case 5:Vu(e,0);return;case 6:Gu(e,0);return}k8e(e,t)}function Vw(e,t){switch(t.g){case 1:return K8(e.j,(xl(),jAe));case 2:return K8(e.j,(xl(),zAe));default:return Cn(),Cn(),Co}}function Z8e(e){Sw();var t;switch(t=e.Pc(),t.length){case 0:return P0e;case 1:return new $ae(Xr(t[0]));default:return new xoe(f5n(t))}}function odt(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function cue(){cue=U,vpe=new PS,WPe=new q0,YPe=new BI,XPe=new FI,QPe=new d8,JPe=new pre,ZPe=new bre,eBe=new mre,tBe=new vre}function eV(e,t){kye();var n,r;return n=RO((Wz(),Wz(),PL)),r=null,t==n&&(r=l(wu(h_e,e),624)),r||(r=new Sat(e),t==n&&sc(h_e,e,r)),r}function cdt(e){jy();var t;return(e.q?e.q:(Cn(),Cn(),yg))._b((Nt(),x3))?t=l(Q(e,x3),203):t=l(Q(Ja(e),tM),203),t}function Ry(e,t){var n,r;return r=null,rs(e,(Nt(),LW))&&(n=l(Q(e,LW),96),n.pf(t)&&(r=n.of(t))),r==null&&(r=Q(Ja(e),t)),r}function udt(e,t){var n,r,s;return De(t,44)?(n=l(t,44),r=n.ld(),s=By(e.Rc(),r),yd(s,n.md())&&(s!=null||e.Rc()._b(r))):!1}function t1(e,t){var n,r,s;return e.f>0&&(e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=R9e(e,s,r,t),n)?n.md():null}function Fu(e,t,n){var r,s,o;return e.Pj()?(r=e.i,o=e.Qj(),$N(e,r,t),s=e.Ij(3,null,t,r,o),n?n.nj(s):n=s):$N(e,e.i,t),n}function Y5n(e,t,n){var r,s;return r=new rp(e.e,4,10,(s=t.c,De(s,90)?l(s,29):(En(),Kf)),null,x2(e,t),!1),n?n.nj(r):n=r,n}function X5n(e,t,n){var r,s;return r=new rp(e.e,3,10,null,(s=t.c,De(s,90)?l(s,29):(En(),Kf)),x2(e,t),!1),n?n.nj(r):n=r,n}function ldt(e){vy();var t;return t=new xo(l(e.e.of((bi(),a7)),8)),e.B.Hc((Xl(),cC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function Db(e){Cd();var t,n;return n=Yr(e),t=Yr(vb(e,32)),t!=0?new vct(n,t):n>10||n<0?new tp(1,n):X6t[n]}function GN(e,t){var n;return xc(e)&&xc(t)&&(n=e%t,PP=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function WN(e,t,n){var r,s,o;for(s=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function n6n(e,t,n,r){var s,o,f;return s=!1,sDn(e.f,n,r)&&(E6n(e.f,e.a[t][n],e.a[t][r]),o=e.a[t],f=o[r],o[r]=o[n],o[n]=f,s=!0),s}function gdt(e,t,n){var r,s,o,f;for(s=l(or(e.b,n),183),r=0,f=new K(t.j);f.a>5,t&=31,s=e.d+n+(t==0?0:1),r=We(Ur,fi,28,s,15,1),e9n(r,e.a,n,t),o=new $m(e.e,s,r),sA(o),o}function r6n(e,t){var n,r,s;for(r=new lr(fr(qs(e).a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),s=n.d.i,s.c==t)return!1;return!0}function nxe(e,t,n){var r,s,o,f,g;return f=e.k,g=t.k,r=n[f.g][g.g],s=Ge(Ry(e,r)),o=Ge(Ry(t,r)),b.Math.max((tr(s),s),(tr(o),o))}function i6n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function s6n(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:et?1:bw(isNaN(e),isNaN(t)))>0}function rxe(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:et?1:bw(isNaN(e),isNaN(t)))<0}function bdt(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:et?1:bw(isNaN(e),isNaN(t)))<=0}function lue(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var r=t[n++];n0&&this.b>0&&(this.g=dH(this.c,this.b,this.a))}function a6n(e,t){var n=e.a,r;t=String(t),n.hasOwnProperty(t)&&(r=n[t]);var s=(Ice(),z0e)[typeof r],o=s?s(r):m8e(typeof r);return o}function BT(e){var t,n,r;if(r=null,t=Pd in e.a,n=!t,n)throw ue(new dd("Every element must have an id."));return r=kx(Jg(e,Pd)),r}function Gw(e){var t,n;for(n=qpt(e),t=null;e.c==2;)Mi(e),t||(t=(Ii(),Ii(),new F_(2)),sv(t,n),n=t),n.Jm(qpt(e));return n}function nV(e,t){var n,r,s;return e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=R9e(e,s,r,t),n?(Eft(e,n),n.md()):null}function Tdt(e,t){return e.e>t.e?1:e.et.d?e.e:e.d=48&&e<48+b.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function o6n(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw ue(new Wn("Input edge is not connected to the input port."))}function c6n(e){if(iV(xE,e))return Hn(),AE;if(iV(Qfe,e))return Hn(),Ub;throw ue(new Wn("Expecting true or false"))}function axe(e){switch(typeof e){case Gle:return g2(e);case pTe:return $8(e);case Sx:return iit(e);default:return e==null?0:ww(e)}}function Ed(e,t){if(e.a<0)throw ue(new ic("Did not call before(...) or after(...) before calling add(...)."));return e4e(e,e.a,t),e}function oxe(e){return HH(),De(e,162)?l(or(vF,t7t),295).Rg(e):Hu(vF,dh(e))?l(or(vF,dh(e)),295).Rg(e):null}function Ku(e){var t,n;return e.Db&32||(n=(t=l(Gn(e,16),29),wr(t||e.ii())-wr(e.ii())),n!=0&&bx(e,32,We(ka,jn,1,n,5,1))),e}function bx(e,t,n){var r;e.Db&t?n==null?VTn(e,t):(r=Due(e,t),r==-1?e.Eb=n:Ss(Km(e.Eb),r,n)):n!=null&&gSn(e,t,n)}function u6n(e,t,n,r){var s,o;t.c.length!=0&&(s=iCn(n,r),o=sTn(t),Os(mU(new vn(null,new kn(o,1)),new o8),new tot(e,n,s,r)))}function l6n(e,t){var n,r,s,o;return r=e.a.length-1,n=t-e.b&r,o=e.c-t&r,s=e.c-e.b&r,Zrt(n=o?(c4n(e,t),-1):(o4n(e,t),1)}function rV(e){var t,n,r;if(r=e.Jh(),!r)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>xhe)return n.Qh();if(r=n.Jh(),r||n==e)break}return r}function Cdt(e,t){var n;return qe(t)===qe(e)?!0:!De(t,21)||(n=l(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function h6n(e,t){return e.et.e?1:e.ft.f?1:ts(e)-ts(t)}function iV(e,t){return tr(e),t==null?!1:wn(e,t)?!0:e.length==t.length&&wn(e.toLowerCase(),t.toLowerCase())}function lp(e){var t,n;return su(e,-129)>0&&su(e,128)<0?(Lst(),t=Yr(e)+128,n=y_e[t],!n&&(n=y_e[t]=new Ir(e)),n):new Ir(e)}function tv(){tv=U,h4=new yq(Id,0),NAe=new yq("INSIDE_PORT_SIDE_GROUPS",1),x1e=new yq("GROUP_MODEL_ORDER",2),k1e=new yq(iEe,3)}function f6n(e){var t;return e.b||sln(e,(t=i0n(e.e,e.a),!t||!wn(Qfe,t1((!t.b&&(t.b=new lh((En(),Do),Qc,t)),t.b),"qualified")))),e.c}function d6n(e,t){var n,r;for(n=(Yn(t,e.length),e.charCodeAt(t)),r=t+1;r2e3&&($6t=e,gK=b.setTimeout(lln,10))),dK++==0?(Swn((g3e(),l_e)),!0):!1}function _6n(e,t,n){var r;(c7t?(M5n(e),!0):u7t||h7t?(Ok(),!0):l7t&&(Ok(),!1))&&(r=new qit(t),r.b=n,P9n(e,r))}function fue(e,t){var n;n=!e.A.Hc((gh(),Ov))||e.q==(Pa(),Au),e.u.Hc((Pl(),kp))?n?bIn(e,t):ywt(e,t):e.u.Hc(im)&&(n?BDn(e,t):Pwt(e,t))}function Ddt(e){var t;qe(at(e,(bi(),i7)))===qe((op(),gY))&&(ds(e)?(t=l(at(ds(e),i7),346),Vi(e,i7,t)):Vi(e,i7,IM))}function A6n(e){var t,n;return rs(e.d.i,(Nt(),VE))?(t=l(Q(e.c.i,VE),17),n=l(Q(e.d.i,VE),17),iu(t.a,n.a)>0):!1}function Idt(e,t,n){return new Zh(b.Math.min(e.a,t.a)-n/2,b.Math.min(e.b,t.b)-n/2,b.Math.abs(e.a-t.a)+n,b.Math.abs(e.b-t.b)+n)}function Odt(e){var t;this.d=new mt,this.j=new za,this.g=new za,t=e.g.b,this.f=l(Q(Ja(t),(Nt(),Rh)),88),this.e=ze(Ge(cV(t,T4)))}function Ndt(e){this.d=new mt,this.e=new u2,this.c=We(Ur,fi,28,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,15,1),this.b=e}function lxe(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new lt(0,r);case 2:case 4:return new lt(r,0);default:return null}}function Pdt(e,t,n){var r,s;s=l(eN(t.f),205);try{s.rf(e,n),$at(t.f,s)}catch(o){throw o=ms(o),De(o,103)?(r=o,ue(r)):ue(o)}}function Bdt(e,t,n){var r,s,o,f,g,w;return r=null,g=tTe(dT(),t),o=null,g&&(s=null,w=Zke(g,n),f=null,w!=null&&(f=e.qf(g,w)),s=f,o=s),r=o,r}function due(e,t,n,r){var s;if(s=e.length,t>=s)return s;for(t=t>0?t:0;tr&&Ss(t,r,null),t}function Fdt(e,t){var n,r;for(r=e.a.length,t.lengthr&&Ss(t,r,null),t}function FT(e,t){var n,r;if(++e.j,t!=null&&(n=(r=e.a.Cb,De(r,99)?l(r,99).th():null),OTn(t,n))){bx(e.a,4,n);return}bx(e.a,4,l(t,129))}function L6n(e){var t;if(e==null)return null;if(t=NEn(ku(e,!0)),t==null)throw ue(new fse("Invalid hexBinary value: '"+e+"'"));return t}function sV(e,t,n){var r;t.a.length>0&&(wt(e.b,new ist(t.a,n)),r=t.a.length,0r&&(t.a+=art(We(xf,Ad,28,-r,15,1))))}function Rdt(e,t,n){var r,s,o;if(!n[t.d])for(n[t.d]=!0,s=new K(t6(t));s.a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n=0?e.Wh(s):nle(e,r)):n<0?nle(e,r):l(r,69).wk().Bk(e,e.hi(),n)}function qdt(e){var t,n,r;for(r=(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o),n=r.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),44),t.md();return fN(r)}function It(e){var t;if(De(e.a,4)){if(t=oxe(e.a),t==null)throw ue(new ic(l4t+e.b+"'. "+u4t+(Xg(wF),wF.k)+bSe));return t}else return e.a}function F6n(e,t){var n,r;if(e.j.length!=t.j.length)return!1;for(n=0,r=e.j.length;n=64&&t<128&&(s=X0(s,u0(1,t-64)));return s}function cV(e,t){var n,r;return r=null,rs(e,(bi(),i9))&&(n=l(Q(e,i9),96),n.pf(t)&&(r=n.of(t))),r==null&&Ja(e)&&(r=Q(Ja(e),t)),r}function R6n(e,t){var n;return n=l(Q(e,(Nt(),lc)),75),dae(t,uxt)?n?Ch(n):(n=new pl,rt(e,lc,n)):n&&rt(e,lc,null),n}function OA(){OA=U,gAe=(bi(),VNe),c1e=CNe,c8t=t7,dAe=B2,f8t=(yV(),G_e),h8t=U_e,d8t=W_e,l8t=H_e,u8t=(Hce(),lAe),o1e=s8t,fAe=a8t,CK=o8t}function uV(e){switch(F3e(),this.c=new mt,this.d=e,e.g){case 0:case 2:this.a=V5e(OAe),this.b=gs;break;case 3:case 1:this.a=OAe,this.b=oa}}function j6n(e){var t;G8(l(Q(e,(Nt(),Ds)),101))&&(t=e.b,M2t((Sn(0,t.c.length),l(t.c[0],30))),M2t(l(Rt(t,t.c.length-1),30)))}function $6n(e,t){t.Ug("Self-Loop post-processing",1),Os(ji(ji(Pc(new vn(null,new kn(e.b,16)),new JZ),new ZZ),new eee),new Mj),t.Vg()}function Hdt(e,t,n){var r,s;if(e.c)Vu(e.c,e.c.i+t),Gu(e.c,e.c.j+n);else for(s=new K(e.b);s.a=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function NA(){NA=U,BDe=new wO(SCe,0),Ide=new wO(efe,1),Ode=new wO("LINEAR_SEGMENTS",2),iM=new wO("BRANDES_KOEPF",3),sM=new wO(Ryt,4)}function PA(){PA=U,mB=new vq(uG,0),TK=new vq(Nhe,1),EK=new vq(Phe,2),vB=new vq(Bhe,3),mB.a=!1,TK.a=!0,EK.a=!1,vB.a=!0}function mx(){mx=U,gB=new mq(uG,0),dB=new mq(Nhe,1),pB=new mq(Phe,2),bB=new mq(Bhe,3),gB.a=!1,dB.a=!0,pB.a=!1,bB.a=!0}function vx(e,t,n,r){var s;return n>=0?e.Sh(t,n,r):(e.Ph()&&(r=(s=e.Fh(),s>=0?e.Ah(r):e.Ph().Th(e,-1-s,null,r))),e.Ch(t,n,r))}function hxe(e,t){switch(t){case 7:!e.e&&(e.e=new An(js,e,7,4)),$r(e.e);return;case 8:!e.d&&(e.d=new An(js,e,8,5)),$r(e.d);return}J8e(e,t)}function Vi(e,t,n){return n==null?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),nV(e.o,t)):(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),eP(e.o,t,n)),e}function Kdt(e,t){Cn();var n,r,s,o;for(n=e,o=t,De(e,21)&&!De(t,21)&&(n=t,o=e),s=n.Kc();s.Ob();)if(r=s.Pb(),o.Hc(r))return!1;return!0}function V6n(e,t,n,r){if(t.an.b)return!0}return!1}function vue(e,t){return Da(e)?!!O6t[t]:e.Sm?!!e.Sm[t]:py(e)?!!I6t[t]:gy(e)?!!D6t[t]:!1}function G6n(e){var t;t=e.a;do t=l(yr(new lr(fr(Ea(t).a.Kc(),new j))),18).c.i,t.k==(Jn(),Aa)&&e.b.Fc(t);while(t.k==(Jn(),Aa));e.b=uf(e.b)}function Wdt(e,t){var n,r,s;for(s=e,r=new lr(fr(Ea(t).a.Kc(),new j));Rr(r);)n=l(yr(r),18),n.c.i.c&&(s=b.Math.max(s,n.c.i.c.p));return s}function K6n(e,t){var n,r,s;for(s=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(s+=e.w);return s}function W6n(e,t){var n,r,s;for(s=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(s+=e.w);return s}function Ydt(e){var t,n,r,s;if(r=0,s=Gy(e),s.c.length==0)return 1;for(n=new K(s);n.a=0?e.Lh(f,n,!0):Xw(e,o,n)):l(o,69).wk().yk(e,e.hi(),s,n,r)}function J6n(e,t,n,r){var s,o;o=t.pf((bi(),s7))?l(t.of(s7),21):e.j,s=B4n(o),s!=(nG(),r1e)&&(n&&!ixe(s)||b9e(PEn(e,s,r),t))}function Z6n(e){switch(e.g){case 1:return qw(),fB;case 3:return qw(),hB;case 2:return qw(),s1e;case 4:return qw(),i1e;default:return null}}function e7n(e,t,n){if(e.e)switch(e.b){case 1:Upn(e.c,t,n);break;case 0:Vpn(e.c,t,n)}else but(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function Xdt(e){var t,n;if(e==null)return null;for(n=We(kg,dt,199,e.length,0,2),t=0;t=0)return s;if(e.ol()){for(r=0;r=s)throw ue(new yy(t,s));if(e.Si()&&(r=e.dd(n),r>=0&&r!=t))throw ue(new Wn(nB));return e.Xi(t,n)}function fxe(e,t){if(this.a=l(Xr(e),253),this.b=l(Xr(t),253),e.Ed(t)>0||e==(sse(),O0e)||t==(ase(),N0e))throw ue(new Wn("Invalid range: "+wut(e,t)))}function Qdt(e){var t,n;for(this.b=new mt,this.c=e,this.a=!1,n=new K(e.a);n.a0),(t&-t)==t)return da(t*Yl(e,31)*4656612873077393e-25);do n=Yl(e,31),r=n%t;while(n-r+(t-1)<0);return da(r)}function a7n(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function YN(e,t,n,r){var s,o;for(s=t;s1&&(o=n7n(e,t)),o}function egt(e){var t;return t=ze(Ge(at(e,(bi(),sF))))*b.Math.sqrt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a).i),new lt(t,t/ze(Ge(at(e,fY))))}function yue(e){var t;return e.f&&e.f.Vh()&&(t=l(e.f,54),e.f=l(Lb(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,8,t,e.f))),e.f}function xue(e){var t;return e.i&&e.i.Vh()&&(t=l(e.i,54),e.i=l(Lb(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,7,t,e.i))),e.i}function jo(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=l(Lb(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,21,t,e.b))),e.b}function gV(e,t){var n,r,s;e.d==null?(++e.e,++e.f):(r=t.Bi(),LCn(e,e.f+1),s=(r&Ni)%e.d.length,n=e.d[s],!n&&(n=e.d[s]=e.dk()),n.Fc(t),++e.f)}function pxe(e,t,n){var r;return t.tk()?!1:t.Ik()!=-2?(r=t.ik(),r==null?n==null:Fi(r,n)):t.qk()==e.e.Dh()&&n==null}function pV(){var e;Mh(16,h3t),e=Rft(16),this.b=We(B0e,IP,303,e,0,1),this.c=We(B0e,IP,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function hp(e){x4e.call(this),this.k=(Jn(),Bs),this.j=(Mh(6,Jy),new Pu(6)),this.b=(Mh(2,Jy),new Pu(2)),this.d=new ese,this.f=new n3e,this.a=e}function c7n(e){var t,n;e.c.length<=1||(t=imt(e,(_t(),Mr)),Vpt(e,l(t.a,17).a,l(t.b,17).a),n=imt(e,Zn),Vpt(e,l(n.a,17).a,l(n.b,17).a))}function u7n(e,t,n){var r,s;for(s=e.a.b,r=s.c.length;r102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function Sue(e,t){if(e==null)throw ue(new I8("null key in entry: null="+t));if(t==null)throw ue(new I8("null value in entry: "+e+"=null"))}function f7n(e,t){for(var n,r;e.Ob();)if(!t.Ob()||(n=e.Pb(),r=t.Pb(),!(qe(n)===qe(r)||n!=null&&Fi(n,r))))return!1;return!t.Ob()}function rgt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[Vce(e.a[0],t),Vce(e.a[1],t),Vce(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function igt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[HU(e.a[0],t),HU(e.a[1],t),HU(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function mxe(e,t,n){G8(l(Q(t,(Nt(),Ds)),101))||(D6e(e,t,k2(t,n)),D6e(e,t,k2(t,(_t(),Mr))),D6e(e,t,k2(t,Xn)),Cn(),Gs(t.j,new cXe(e)))}function sgt(e){var t,n;for(e.c||DMn(e),n=new pl,t=new K(e.a),re(t);t.a0&&(Yn(0,t.length),t.charCodeAt(0)==43)?(Yn(1,t.length+1),t.substr(1)):t))}function S7n(e){var t;return e==null?null:new bb((t=ku(e,!0),t.length>0&&(Yn(0,t.length),t.charCodeAt(0)==43)?(Yn(1,t.length+1),t.substr(1)):t))}function wxe(e,t,n,r,s,o,f,g){var w,T;r&&(w=r.a[0],w&&wxe(e,t,n,w,s,o,f,g),Pue(e,n,r.d,s,o,f,g)&&t.Fc(r),T=r.a[1],T&&wxe(e,t,n,T,s,o,f,g))}function s6(e,t,n){try{return pw(bce(e,t,n),1)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function lgt(e,t,n){try{return pw(bce(e,t,n),0)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function hgt(e,t,n){try{return pw(bce(e,t,n),2)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function fgt(e,t){if(e.g==-1)throw ue(new gl);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function _7n(e){var t,n,r,s,o;for(r=new K(e.b);r.ao&&Ss(t,o,null),t}function A7n(e,t){var n,r;if(r=e.gc(),t==null){for(n=0;n0&&(w+=s),T[C]=f,f+=g*(w+r)}function ggt(e){var t,n,r;for(r=e.f,e.n=We(Oa,tc,28,r,15,1),e.d=We(Oa,tc,28,r,15,1),t=0;t0?e.c:0),++s;e.b=r,e.d=o}function wgt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[gxe(e,(e1(),Wc),t),gxe(e,ju,t),gxe(e,Yc,t)]),e.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function B7n(e,t,n){var r;try{UV(e,t+e.j,n+e.k,!1,!0)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function F7n(e,t,n){var r;try{UV(e,t+e.j,n+e.k,!0,!1)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function ygt(e){var t;rs(e,(Nt(),y3))&&(t=l(Q(e,y3),21),t.Hc((Vy(),k0))?(t.Mc(k0),t.Fc(T0)):t.Hc(T0)&&(t.Mc(T0),t.Fc(k0)))}function xgt(e){var t;rs(e,(Nt(),y3))&&(t=l(Q(e,y3),21),t.Hc((Vy(),C0))?(t.Mc(C0),t.Fc(qf)):t.Hc(qf)&&(t.Mc(qf),t.Fc(C0)))}function Iue(e,t,n,r){var s,o,f,g;return e.a==null&&j9n(e,t),f=t.b.j.c.length,o=n.d.p,g=r.d.p,s=g-1,s<0&&(s=f-1),o<=s?e.a[s]-e.a[o]:e.a[f-1]-e.a[o]+e.a[s]}function R7n(e){var t,n;if(!e.b)for(e.b=KH(l(e.f,27).kh().i),n=new ar(l(e.f,27).kh());n.e!=n.i.gc();)t=l(dr(n),135),wt(e.b,new use(t));return e.b}function j7n(e){var t,n;if(!e.e)for(e.e=KH(loe(l(e.f,27)).i),n=new ar(loe(l(e.f,27)));n.e!=n.i.gc();)t=l(dr(n),123),wt(e.e,new fQe(t));return e.e}function kgt(e){var t,n;if(!e.a)for(e.a=KH(PH(l(e.f,27)).i),n=new ar(PH(l(e.f,27)));n.e!=n.i.gc();)t=l(dr(n),27),wt(e.a,new mae(e,t));return e.a}function Ww(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=SDn(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=ms(n),!De(n,63))throw ue(n)}return e.C}function $7n(e){switch(e.q.g){case 5:Ggt(e,(_t(),Xn)),Ggt(e,Mr);break;case 4:Wvt(e,(_t(),Xn)),Wvt(e,Mr);break;default:Qpt(e,(_t(),Xn)),Qpt(e,Mr)}}function z7n(e){switch(e.q.g){case 5:Kgt(e,(_t(),sr)),Kgt(e,Zn);break;case 4:Yvt(e,(_t(),sr)),Yvt(e,Zn);break;default:Jpt(e,(_t(),sr)),Jpt(e,Zn)}}function a6(e,t){var n,r,s;for(s=new za,r=e.Kc();r.Ob();)n=l(r.Pb(),36),YT(n,s.a,0),s.a+=n.f.a+t,s.b=b.Math.max(s.b,n.f.b);return s.b>0&&(s.b+=t),s}function vV(e,t){var n,r,s;for(s=new za,r=e.Kc();r.Ob();)n=l(r.Pb(),36),YT(n,0,s.b),s.b+=n.f.b+t,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=t),s}function Tgt(e){var t,n,r;for(r=Ni,n=new K(e.a);n.a>16==6?e.Cb.Th(e,5,c1,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function q7n(e){Jk();var t=e.e;if(t&&t.stack){var n=t.stack,r=t+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function H7n(e){var t;return t=(_ft(),V6t),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Sgt(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=Z7e(b.Math.max(8,r))<<1,e.b!=0?(t=o0(e.a,n),qft(e,t,r),e.a=t,e.b=0):uy(e.a,n),e.c=r)}function U7n(e,t){var n;return n=e.b,n.pf((bi(),eh))?n.ag()==(_t(),Zn)?-n.Mf().a-ze(Ge(n.of(eh))):t+ze(Ge(n.of(eh))):n.ag()==(_t(),Zn)?-n.Mf().a:t}function QN(e){var t;return e.b.c.length!=0&&l(Rt(e.b,0),72).a?l(Rt(e.b,0),72).a:(t=hoe(e),t??""+(e.c?bc(e.c.a,e,0):-1))}function wV(e){var t;return e.f.c.length!=0&&l(Rt(e.f,0),72).a?l(Rt(e.f,0),72).a:(t=hoe(e),t??""+(e.i?bc(e.i.j,e,0):-1))}function V7n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n0?e.c:0),s=b.Math.max(s,t.d),++r;e.e=o,e.b=s}function K7n(e){var t,n;if(!e.b)for(e.b=KH(l(e.f,123).kh().i),n=new ar(l(e.f,123).kh());n.e!=n.i.gc();)t=l(dr(n),135),wt(e.b,new use(t));return e.b}function W7n(e,t){var n,r,s;if(t.dc())return jk(),jk(),yF;for(n=new uit(e,t.gc()),s=new ar(e);s.e!=s.i.gc();)r=dr(s),t.Hc(r)&&zr(n,r);return n}function Txe(e,t,n,r){return t==0?r?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o):(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),fN(e.o)):lV(e,t,n,r)}function Nue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t>22),s+=r>>22,s<0)?!1:(e.l=n&Ql,e.m=r&Ql,e.h=s&pp,!0)}function Pue(e,t,n,r,s,o,f){var g,w;return!(t.Te()&&(w=e.a.Ne(n,r),w<0||!s&&w==0)||t.Ue()&&(g=e.a.Ne(n,o),g>0||!f&&g==0))}function J7n(e,t){ST();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return tue(t,SLe)-tue(e,SLe);case 4:return tue(e,CLe)-tue(t,CLe)}return 0}function Z7n(e){switch(e.g){case 0:return V1e;case 1:return G1e;case 2:return K1e;case 3:return W1e;case 4:return iW;case 5:return Y1e;default:return null}}function cc(e,t,n){var r,s;return r=(s=new rse,ev(s,t),Bu(s,n),zr((!e.c&&(e.c=new nt(L3,e,12,10)),e.c),s),s),d2(r,0),Oy(r,1),v2(r,!0),m2(r,!0),r}function wx(e,t){var n,r;if(t>=e.i)throw ue(new iae(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&gu(e.g,t+1,e.g,t,r),Ss(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function _gt(e,t){var n,r;return e.Db>>16==17?e.Cb.Th(e,21,Uf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function e8n(e){var t,n,r,s;for(Cn(),Gs(e.c,e.a),s=new K(e.c);s.an.a.c.length))throw ue(new Wn("index must be >= 0 and <= layer node count"));e.c&&sl(e.c.a,e),e.c=n,n&&kw(n.a,t,e)}function Igt(e,t){var n,r,s;for(r=new lr(fr(up(e).a.Kc(),new j));Rr(r);)return n=l(yr(r),18),s=l(t.Kb(n),10),new ZS(Xr(s.n.b+s.o.b/2));return c_(),c_(),I0e}function Ogt(e,t){this.c=new Nr,this.a=e,this.b=t,this.d=l(Q(e,(ft(),q6)),312),qe(Q(e,(Nt(),lDe)))===qe((bN(),sW))?this.e=new SJe:this.e=new CJe}function FA(e,t){var n,r;return r=null,e.pf((bi(),i9))&&(n=l(e.of(i9),96),n.pf(t)&&(r=n.of(t))),r==null&&e.Tf()&&(r=e.Tf().of(t)),r==null&&(r=It(t)),r}function Bue(e,t){var n,r;n=e.fd(t);try{return r=n.Pb(),n.Qb(),r}catch(s){throw s=ms(s),De(s,112)?ue(new rc("Can't remove element "+t)):ue(s)}}function c8n(e,t){var n,r,s;if(r=new iq,s=new n8e(r.q.getFullYear()-Rb,r.q.getMonth(),r.q.getDate()),n=wLn(e,t,s),n==0||n0?t:0),++n;return new lt(r,s)}function Axe(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,6,js,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),kY)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Lxe(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,1,pF,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),DPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Mxe(e,t){var n,r;return e.Db>>16==9?e.Cb.Th(e,9,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),OPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Bgt(e,t){var n,r;return e.Db>>16==5?e.Cb.Th(e,9,DY,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),$2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Fgt(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,6,c1,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),q2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Dxe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,0,mF,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),j2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Rgt(){this.a=new D$,this.g=new pV,this.j=new pV,this.b=new Nr,this.d=new pV,this.i=new pV,this.k=new Nr,this.c=new Nr,this.e=new Nr,this.f=new Nr}function h8n(e,t,n){var r,s,o;for(n<0&&(n=0),o=e.i,s=n;sxhe)return jT(e,r);if(r==e)return!0}}return!1}function d8n(e){switch(Wq(),e.q.g){case 5:y2t(e,(_t(),Xn)),y2t(e,Mr);break;case 4:xbt(e,(_t(),Xn)),xbt(e,Mr);break;default:Ewt(e,(_t(),Xn)),Ewt(e,Mr)}}function g8n(e){switch(Wq(),e.q.g){case 5:j2t(e,(_t(),sr)),j2t(e,Zn);break;case 4:Udt(e,(_t(),sr)),Udt(e,Zn);break;default:Cwt(e,(_t(),sr)),Cwt(e,Zn)}}function p8n(e){var t,n;t=l(Q(e,(p0(),M8t)),17),t?(n=t.a,n==0?rt(e,(Cb(),MK),new sue):rt(e,(Cb(),MK),new QH(n))):rt(e,(Cb(),MK),new QH(1))}function b8n(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function m8n(e,t){switch(e.g){case 0:return t==(lf(),Yb)?XK:QK;case 1:return t==(lf(),Yb)?XK:TB;case 2:return t==(lf(),Yb)?TB:QK;default:return TB}}function ZN(e,t){var n,r,s;for(sl(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),s=jCe,r=new K(e.a);r.a>16==3?e.Cb.Th(e,12,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),MPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Oxe(e,t){var n,r;return e.Db>>16==11?e.Cb.Th(e,10,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),IPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function jgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,11,Uf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),z2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function $gt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,12,Vf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),F4)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Of(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=l(e.r,54),e.r=l(Lb(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,8,t,e.r))),e.r}function Fue(e,t,n){var r;return r=he(le(Oa,1),tc,28,15,[s9e(e,(e1(),Wc),t,n),s9e(e,ju,t,n),s9e(e,Yc,t,n)]),e.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function v8n(e,t){var n,r,s;if(s=q6n(e,t),s.c.length!=0)for(Gs(s,new bS),n=s.c.length,r=0;r>19,T=t.h>>19,w!=T?T-w:(s=e.h,g=t.h,s!=g?s-g:(r=e.m,f=t.m,r!=f?r-f:(n=e.l,o=t.l,n-o)))}function yV(){yV=U,Y_e=(qV(),t1e),W_e=new mn(OTe,Y_e),K_e=(dU(),e1e),G_e=new mn(NTe,K_e),V_e=(aV(),Z0e),U_e=new mn(PTe,V_e),H_e=new mn(BTe,(Hn(),!0))}function RA(e,t,n){var r,s;r=t*n,De(e.g,154)?(s=sx(e),s.f.d?s.f.a||(e.d.a+=r+H1):(e.d.d-=r+H1,e.d.a+=r+H1)):De(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function zgt(e,t,n){var r,s,o,f,g;for(s=e[n.g],g=new K(t.d);g.a0?e.b:0),++n;t.b=r,t.e=s}function qgt(e){var t,n,r;if(r=e.b,Oet(e.i,r.length)){for(n=r.length*2,e.b=We(B0e,IP,303,n,0,1),e.c=We(B0e,IP,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)cP(e,t,t);++e.g}}function C8n(e,t,n,r){var s,o,f,g;for(s=0;sf&&(g=f/r),s>o&&(w=o/s),md(e,b.Math.min(g,w)),e}function _8n(){WV();var e,t;try{if(t=l(Uxe((db(),Gf),TE),2113),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new ak}function A8n(){WV();var e,t;try{if(t=l(Uxe((db(),Gf),Ff),2040),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new g8}function L8n(){Jlt();var e,t;try{if(t=l(Uxe((db(),Gf),bv),2122),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new hk}function M8n(e,t,n){var r,s;return s=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,s,t),n?n.nj(r):n=r),s!=t&&(t?n=tE(e,OV(e,t),n):n=tE(e,e.a,n)),n}function Hgt(){iq.call(this),this.e=-1,this.a=!1,this.p=ao,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=ao}function D8n(e,t){var n,r,s;if(r=e.b.d.d,e.a||(r+=e.b.d.a),s=t.b.d.d,t.a||(s+=t.b.d.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function I8n(e,t){var n,r,s;if(r=e.b.b.d,e.a||(r+=e.b.b.a),s=t.b.b.d,t.a||(s+=t.b.b.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function O8n(e,t){var n,r,s;if(r=e.b.g.d,e.a||(r+=e.b.g.a),s=t.b.g.d,t.a||(s+=t.b.g.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function Pxe(){Pxe=U,W8t=wl(hi(hi(hi(new Js,(so(),Cu),(po(),hLe)),Cu,fLe),wc,dLe),wc,eLe),X8t=hi(hi(new Js,Cu,KAe),Cu,tLe),Y8t=wl(new Js,wc,rLe)}function N8n(e){var t,n,r,s,o;for(t=l(Q(e,(ft(),WL)),85),o=e.n,r=t.Cc().Kc();r.Ob();)n=l(r.Pb(),314),s=n.i,s.c+=o.a,s.d+=o.b,n.c?cmt(n):umt(n);rt(e,WL,null)}function P8n(e,t,n){var r,s;switch(s=e.b,r=s.d,t.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function B8n(e,t,n){var r,s;for(n.Ug("Interactive node placement",1),e.a=l(Q(t,(ft(),q6)),312),s=new K(t.b);s.a0&&(f=(o&Ni)%e.d.length,s=R9e(e,f,o,t),s)?(g=s.nd(n),g):(r=e.ck(o,t,n),e.c.Fc(r),null)}function Rxe(e,t){var n,r,s,o;switch(b2(e,t).Kl()){case 3:case 2:{for(n=p6(t),s=0,o=n.i;s=0;r--)if(wn(e[r].d,t)||wn(e[r].d,n)){e.length>=r+1&&e.splice(0,r+1);break}return e}function tP(e,t){var n;return xc(e)&&xc(t)&&(n=e/t,PP0&&(e.b+=2,e.a+=r):(e.b+=1,e.a+=b.Math.min(r,s))}function Xgt(e){var t;t=l(Q(l(hf(e.b,0),40),(Vc(),IIe)),107),rt(e,(Zi(),ZE),new lt(0,0)),zmt(new lN,e,t.b+t.c-ze(Ge(Q(e,Xde))),t.d+t.a-ze(Ge(Q(e,Qde))))}function Qgt(e,t){var n,r;if(r=!1,Da(t)&&(r=!0,Z8(e,new Ty(Zr(t)))),r||De(t,242)&&(r=!0,Z8(e,(n=I4e(l(t,242)),new yk(n)))),!r)throw ue(new hse(PSe))}function Z8n(e,t,n,r){var s,o,f;return s=new rp(e.e,1,10,(f=t.c,De(f,90)?l(f,29):(En(),Kf)),(o=n.c,De(o,90)?l(o,29):(En(),Kf)),x2(e,t),!1),r?r.nj(s):r=s,r}function zxe(e){var t,n;switch(l(Q(Ja(e),(Nt(),rDe)),429).g){case 0:return t=e.n,n=e.o,new lt(t.a+n.a/2,t.b+n.b/2);case 1:return new xo(e.n);default:return null}}function nP(){nP=U,aW=new S_(Id,0),qLe=new S_("LEFTUP",1),ULe=new S_("RIGHTUP",2),zLe=new S_("LEFTDOWN",3),HLe=new S_("RIGHTDOWN",4),X1e=new S_("BALANCED",5)}function exn(e,t,n){var r,s,o;if(r=Xi(e.a[t.p],e.a[n.p]),r==0){if(s=l(Q(t,(ft(),Yx)),15),o=l(Q(n,Yx),15),s.Hc(n))return-1;if(o.Hc(t))return 1}return r}function txn(e){switch(e.g){case 1:return new Ine;case 2:return new One;case 3:return new Dne;case 0:return null;default:throw ue(new Wn(Ffe+(e.f!=null?e.f:""+e.g)))}}function qxe(e,t,n){switch(t){case 1:!e.n&&(e.n=new nt(nc,e,1,7)),$r(e.n),!e.n&&(e.n=new nt(nc,e,1,7)),Ls(e.n,l(n,16));return;case 2:gT(e,Zr(n));return}c8e(e,t,n)}function Hxe(e,t,n){switch(t){case 3:Fw(e,ze(Ge(n)));return;case 4:Rw(e,ze(Ge(n)));return;case 5:Vu(e,ze(Ge(n)));return;case 6:Gu(e,ze(Ge(n)));return}qxe(e,t,n)}function xV(e,t,n){var r,s,o;o=(r=new rse,r),s=$1(o,t,null),s&&s.oj(),Bu(o,n),zr((!e.c&&(e.c=new nt(L3,e,12,10)),e.c),o),d2(o,0),Oy(o,1),v2(o,!0),m2(o,!0)}function Uxe(e,t){var n,r,s;return n=x_(e.i,t),De(n,241)?(s=l(n,241),s.zi()==null,s.wi()):De(n,507)?(r=l(n,2037),s=r.b,s):null}function nxn(e,t,n,r){var s,o;return Xr(t),Xr(n),o=l(U_(e.d,t),17),Eht(!!o,"Row %s not in %s",t,e.e),s=l(U_(e.b,n),17),Eht(!!s,"Column %s not in %s",n,e.c),P0t(e,o.a,s.a,r)}function Jgt(e,t,n,r,s,o,f){var g,w,T,C,L;if(C=s[o],T=o==f-1,g=T?r:0,L=mgt(g,C),r!=10&&he(le(e,f-o),t[o],n[o],g,L),!T)for(++o,w=0;w1||g==-1?(o=l(w,15),s.Wb(j5n(e,o))):s.Wb(kle(e,l(w,58)))))}function uxn(e,t,n,r){aet();var s=D0e;function o(){for(var f=0;f0)return!1;return!0}function fxn(e){var t,n,r,s,o;for(r=new Xm(new Cr(e.b).a);r.b;)n=zw(r),t=l(n.ld(),10),o=l(l(n.md(),42).a,10),s=l(l(n.md(),42).b,8),Pi(W0(t.n),Pi(Xa(o.n),s))}function dxn(e){switch(l(Q(e.b,(Nt(),XMe)),387).g){case 1:Os(gc(Pc(new vn(null,new kn(e.d,16)),new xI),new b5),new Oee);break;case 2:c_n(e);break;case 0:$kn(e)}}function gxn(e,t,n){var r,s,o;for(r=n,!r&&(r=new M8),r.Ug("Layout",e.a.c.length),o=new K(e.a);o.aOfe)return n;s>-1e-6&&++n}return n}function Gxe(e,t){var n;t!=e.b?(n=null,e.b&&(n=jH(e.b,e,-4,n)),t&&(n=vx(t,e,-4,n)),n=A1t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function tpt(e,t){var n;t!=e.f?(n=null,e.f&&(n=jH(e.f,e,-1,n)),t&&(n=vx(t,e,-1,n)),n=_1t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,t,t))}function vxn(e,t,n,r){var s,o,f,g;return ch(e.e)&&(s=t.Lk(),g=t.md(),o=n.md(),f=kb(e,1,s,g,o,s.Jk()?JT(e,s,o,De(s,102)&&(l(s,19).Bb&Lo)!=0):-1,!0),r?r.nj(f):r=f),r}function npt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new e2,t=n.Kc();t.Ob();)Jo(r,(Wi(),Zr(t.Pb()))),r.a+=" ";return aae(r,r.a.length-1)}function rpt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new e2,t=n.Kc();t.Ob();)Jo(r,(Wi(),Zr(t.Pb()))),r.a+=" ";return aae(r,r.a.length-1)}function wxn(e,t,n){var r,s;return r=e.c[t.c.p][t.p],s=e.c[n.c.p][n.p],r.a!=null&&s.a!=null?Wae(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function yxn(e,t,n){return n.Ug("Tree layout",1),XO(e.b),Y0(e.b,(yx(),zW),zW),Y0(e.b,hM,hM),Y0(e.b,fM,fM),Y0(e.b,dM,dM),e.a=EP(e.b,t),gxn(e,t,n.eh(1)),n.Vg(),t}function xxn(e,t){var n,r,s,o,f,g;if(t)for(o=t.a.length,n=new jm(o),g=(n.b-n.a)*n.c<0?(gb(),lm):new mb(n);g.Ob();)f=l(g.Pb(),17),s=eT(t,f.a),r=new kQe(e),Lpn(r.a,s)}function kxn(e,t){var n,r,s,o,f,g;if(t)for(o=t.a.length,n=new jm(o),g=(n.b-n.a)*n.c<0?(gb(),lm):new mb(n);g.Ob();)f=l(g.Pb(),17),s=eT(t,f.a),r=new dQe(e),Apn(r.a,s)}function Txn(e){var t;if(e!=null&&e.length>0&&io(e,e.length-1)==33)try{return t=hbt(ef(e,0,e.length-1)),t.e==null}catch(n){if(n=ms(n),!De(n,33))throw ue(n)}return!1}function Exn(e,t,n){var r,s,o;switch(r=Ja(t),s=WU(r),o=new du,Nc(o,t),n.g){case 1:ga(o,UN(px(s)));break;case 2:ga(o,px(s))}return rt(o,(Nt(),y4),Ge(Q(e,y4))),o}function Kxe(e){var t,n;return t=l(yr(new lr(fr(Ea(e.a).a.Kc(),new j))),18),n=l(yr(new lr(fr(qs(e.a).a.Kc(),new j))),18),Ft(Pt(Q(t,(ft(),W1))))||Ft(Pt(Q(n,W1)))}function zy(){zy=U,EB=new bO("ONE_SIDE",0),eW=new bO("TWO_SIDES_CORNER",1),tW=new bO("TWO_SIDES_OPPOSING",2),ZK=new bO("THREE_SIDES",3),JK=new bO("FOUR_SIDES",4)}function ipt(e,t){var n,r,s,o;for(o=new mt,s=0,r=t.Kc();r.Ob();){for(n=bt(l(r.Pb(),17).a+s);n.a=e.f)break;qn(o.c,n)}return o}function Cxn(e,t){var n,r,s,o,f;for(o=new K(t.a);o.a0&&Agt(this,this.c-1,(_t(),sr)),this.c0&&e[0].length>0&&(this.c=Ft(Pt(Q(Ja(e[0][0]),(ft(),sMe))))),this.a=We(JTt,dt,2117,e.length,0,2),this.b=We(ZTt,dt,2118,e.length,0,2),this.d=new k1t}function Mxn(e){return e.c.length==0?!1:(Sn(0,e.c.length),l(e.c[0],18)).c.i.k==(Jn(),Aa)?!0:X5(gc(new vn(null,new kn(e,16)),new cte),new ute)}function opt(e,t){var n,r,s,o,f,g,w;for(g=Gy(t),o=t.f,w=t.g,f=b.Math.sqrt(o*o+w*w),s=0,r=new K(g);r.a=0?(n=tP(e,sG),r=GN(e,sG)):(t=vb(e,1),n=tP(t,5e8),r=GN(t,5e8),r=fo(u0(r,1),xa(e,1))),X0(u0(r,32),xa(n,Uo))}function lpt(e,t,n){var r,s;switch(r=(br(t.b!=0),l(sf(t,t.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=e.f;break;case 3:r.a=0;break;default:r.a=e.g}return s=Fr(t,0),YO(s,r),t}function hpt(e,t,n,r){var s,o,f,g,w;switch(w=e.b,o=t.d,f=o.j,g=lxe(f,w.d[f.g],n),s=Pi(Xa(o.n),o.a),o.j.g){case 1:case 3:g.a+=s.a;break;case 2:case 4:g.b+=s.b}_s(r,g,r.c.b,r.c)}function qxn(e,t,n){var r,s,o,f;for(f=bc(e.e,t,0),o=new Zwe,o.b=n,r=new Ua(e.e,f);r.b1;t>>=1)t&1&&(r=Y5(r,n)),n.d==1?n=Y5(n,n):n=new _dt(Kmt(n.a,n.d,We(Ur,fi,28,n.d<<1,15,1)));return r=Y5(r,n),r}function n9e(){n9e=U;var e,t,n,r;for(P_e=We(Oa,tc,28,25,15,1),B_e=We(Oa,tc,28,33,15,1),r=152587890625e-16,t=32;t>=0;t--)B_e[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)P_e[e]=n,n*=.5}function Wxn(e){var t,n;if(Ft(Pt(at(e,(Nt(),w4))))){for(n=new lr(fr(fp(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),74),Yw(t)&&Ft(Pt(at(t,kv))))return!0}return!1}function fpt(e,t){var n,r,s;sa(e.f,t)&&(t.b=e,r=t.c,bc(e.j,r,0)!=-1||wt(e.j,r),s=t.d,bc(e.j,s,0)!=-1||wt(e.j,s),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new Odt(e)),Z3n(e.i,n)))}function Yxn(e){var t,n,r,s,o;return n=e.c.d,r=n.j,s=e.d.d,o=s.j,r==o?n.p=0&&wn(e.substr(t,3),"GMT")||t>=0&&wn(e.substr(t,3),"UTC"))&&(n[0]=t+3),Pke(e,n,r)}function Qxn(e,t){var n,r,s,o,f;for(o=e.g.a,f=e.g.b,r=new K(e.d);r.an;o--)e[o]|=t[o-n-1]>>>f,e[o-1]=t[o-n-1]<0&&gu(e.g,t,e.g,t+r,g),f=n.Kc(),e.i+=r,s=0;s>4&15,o=e[r]&15,f[s++]=NPe[n],f[s++]=NPe[o];return If(f,0,f.length)}function ol(e){var t,n;return e>=Lo?(t=BP+(e-Lo>>10&1023)&ta,n=56320+(e-Lo&1023)&ta,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&ta)}function c9n(e,t){vy();var n,r,s,o;return s=l(l($i(e.r,t),21),87),s.gc()>=2?(r=l(s.Kc().Pb(),117),n=e.u.Hc((Pl(),BM)),o=e.u.Hc(o9),!r.a&&!n&&(s.gc()==2||o)):!1}function ppt(e,t,n,r,s){var o,f,g;for(o=emt(e,t,n,r,s),g=!1;!o;)DV(e,s,!0),g=!0,o=emt(e,t,n,r,s);g&&DV(e,s,!1),f=Mce(s),f.c.length!=0&&(e.d&&e.d.Gg(f),ppt(e,s,n,r,f))}function CV(){CV=U,spe=new M_(Id,0),iPe=new M_("DIRECTED",1),aPe=new M_("UNDIRECTED",2),nPe=new M_("ASSOCIATION",3),sPe=new M_("GENERALIZATION",4),rPe=new M_("DEPENDENCY",5)}function u9n(e,t){var n;if(!M1(e))throw ue(new ic(D4t));switch(n=M1(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function l9n(e,t,n){var r,s,o;return r=t.Lk(),o=t.md(),s=r.Jk()?kb(e,4,r,o,null,JT(e,r,o,De(r,102)&&(l(r,19).Bb&Lo)!=0),!0):kb(e,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(s):n=s,n}function qT(e,t){var n,r;for(tr(t),r=e.b.c.length,wt(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.Ne(Rt(e.b,r),t)<=0)return nf(e.b,n,t),!0;nf(e.b,n,Rt(e.b,r))}return nf(e.b,r,t),!0}function s9e(e,t,n,r){var s,o;if(s=0,n)s=HU(e.a[n.g][t.g],r);else for(o=0;o=g)}function bpt(e){switch(e.g){case 0:return new $ne;case 1:return new zne;default:throw ue(new Wn("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function a9e(e,t,n,r){var s;if(s=!1,Da(r)&&(s=!0,Hk(t,n,Zr(r))),s||gy(r)&&(s=!0,a9e(e,t,n,r)),s||De(r,242)&&(s=!0,qm(t,n,l(r,242))),!s)throw ue(new hse(PSe))}function f9n(e,t){var n,r,s;if(n=t.qi(e.a),n&&(s=t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Bf),s!=null)){for(r=1;r<(kl(),iBe).length;++r)if(wn(iBe[r],s))return r}return 0}function d9n(e,t){var n,r,s;if(n=t.qi(e.a),n&&(s=t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Bf),s!=null)){for(r=1;r<(kl(),sBe).length;++r)if(wn(sBe[r],s))return r}return 0}function mpt(e,t){var n,r,s,o;if(tr(t),o=e.a.gc(),o0?1:0;o.a[s]!=n;)o=o.a[s],s=e.a.Ne(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function b9n(e){var t,n,r,s;for(t=new mt,n=We(th,vg,28,e.a.c.length,16,1),A5e(n,n.length),s=new K(e.a);s.a0&&Hmt((Sn(0,n.c.length),l(n.c[0],30)),e),n.c.length>1&&Hmt(l(Rt(n,n.c.length-1),30),e),t.Vg()}function v9n(e){Pl();var t,n;return t=is(kp,he(le(pY,1),it,279,0,[im])),!(AN(zH(t,e))>1||(n=is(BM,he(le(pY,1),it,279,0,[PM,o9])),AN(zH(n,e))>1))}function c9e(e,t){var n;n=wu((db(),Gf),e),De(n,507)?sc(Gf,e,new unt(this,t)):sc(Gf,e,this),Wue(this,t),t==(Ak(),GPe)?(this.wb=l(this,2038),l(t,2040)):this.wb=(wb(),Un)}function w9n(e){var t,n,r;if(e==null)return null;for(t=null,n=0;n<$M.length;++n)try{return Vet($M[n],e)}catch(s){if(s=ms(s),De(s,33))r=s,t=r;else throw ue(s)}throw ue(new uU(t))}function ypt(){ypt=U,Z6t=he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),e7t=he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function xpt(e){var t,n,r;t=wn(typeof t,Ahe)?null:new Io,t&&(Ok(),n=(r=900,r>=C2?"error":r>=900?"warn":r>=800?"info":"log"),Mat(n,e.a),e.b&&lke(t,n,e.b,"Exception: ",!0))}function Q(e,t){var n,r;return r=(!e.q&&(e.q=new Nr),or(e.q,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n))),n)}function so(){so=U,w0=new pO("P1_CYCLE_BREAKING",0),xg=new pO("P2_LAYERING",1),pu=new pO("P3_NODE_ORDERING",2),Cu=new pO("P4_NODE_PLACEMENT",3),wc=new pO("P5_EDGE_ROUTING",4)}function y9n(e,t){fA();var n;if(e.c==t.c){if(e.b==t.b||_3n(e.b,t.b)){if(n=Jln(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return iu(e.b.g,t.b.g)}else return Xi(e.c,t.c)}function kpt(e,t){var n,r,s;if(l9e(e,t))return!0;for(r=new K(t);r.a=s||t<0)throw ue(new rc(h0e+t+gv+s));if(n>=s||n<0)throw ue(new rc(f0e+n+gv+s));return t!=n?r=(o=e.Cj(n),e.qj(t,o),o):r=e.xj(n),r}function Cpt(e){var t,n,r;if(r=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>xhe)return Cpt(n);if(r=n,n==e)throw ue(new ic("There is a cycle in the containment hierarchy of "+e))}return r}function Ob(e){var t,n,r;for(r=new Qm(To,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),np(r,qe(t)===qe(e)?"(this Collection)":t==null?cl:Tc(t));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function l9e(e,t){var n,r;if(r=!1,t.gc()<2)return!1;for(n=0;n1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=b.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function Nb(){Nb=U,Bxt=he(le(Mo,1),ou,64,0,[(_t(),Xn),sr,Mr]),Pxt=he(le(Mo,1),ou,64,0,[sr,Mr,Zn]),Fxt=he(le(Mo,1),ou,64,0,[Mr,Zn,Xn]),Rxt=he(le(Mo,1),ou,64,0,[Zn,Xn,sr])}function k9n(e,t,n,r){var s,o,f,g,w,T,C;if(f=e.c.d,g=e.d.d,f.j!=g.j)for(C=e.b,s=f.j,w=null;s!=g.j;)w=t==0?KU(s):M8e(s),o=lxe(s,C.d[s.g],n),T=lxe(w,C.d[w.g],n),ci(r,Pi(o,T)),s=w}function T9n(e,t,n,r){var s,o,f,g,w;return f=Lgt(e.a,t,n),g=l(f.a,17).a,o=l(f.b,17).a,r&&(w=l(Q(t,(ft(),Bl)),10),s=l(Q(n,Bl),10),w&&s&&(but(e.b,w,s),g+=e.b.i,o+=e.b.e)),g>o}function _pt(e){var t,n,r,s,o,f,g,w,T;for(this.a=Xdt(e),this.b=new mt,n=e,r=0,s=n.length;rTae(e.d).c?(e.i+=e.g.c,uue(e.d)):Tae(e.d).c>Tae(e.g).c?(e.e+=e.d.c,uue(e.g)):(e.i+=Rst(e.g),e.e+=Rst(e.d),uue(e.g),uue(e.d))}function _9n(e,t,n){var r,s,o,f;for(o=t.q,f=t.r,new Hm((Q0(),Qb),t,o,1),new Hm(Qb,o,f,1),s=new K(n);s.ag&&(w=g/r),s>o&&(T=o/s),f=b.Math.min(w,T),e.a+=f*(t.a-e.a),e.b+=f*(t.b-e.b)}function D9n(e,t,n,r,s){var o,f;for(f=!1,o=l(Rt(n.b,0),27);aLn(e,t,o,r,s)&&(f=!0,oxn(n,o),n.b.c.length!=0);)o=l(Rt(n.b,0),27);return n.b.c.length==0&&ZN(n.j,n),f&&mV(t.q),f}function I9n(e,t){d6();var n,r,s,o;if(t.b<2)return!1;for(o=Fr(t,0),n=l(Pr(o),8),r=n;o.b!=o.d.c;){if(s=l(Pr(o),8),lle(e,r,s))return!0;r=s}return!!lle(e,r,n)}function f9e(e,t,n,r){var s,o;return n==0?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),Jq(e.o,t,r)):(o=l(Mn((s=l(Gn(e,16),29),s||e.ii()),n),69),o.wk().Ak(e,Ku(e),n-wr(e.ii()),t,r))}function Wue(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=l(e.sb,54).Th(e,1,jM,n)),t&&(n=l(t,54).Rh(e,1,jM,n)),n=E8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,4,t,t))}function O9n(e,t){var n,r,s,o;if(t)s=ap(t,"x"),n=new wQe(e),cT(n.a,(tr(s),s)),o=ap(t,"y"),r=new yQe(e),lT(r.a,(tr(o),o));else throw ue(new dd("All edge sections need an end point."))}function N9n(e,t){var n,r,s,o;if(t)s=ap(t,"x"),n=new bQe(e),uT(n.a,(tr(s),s)),o=ap(t,"y"),r=new mQe(e),hT(r.a,(tr(o),o));else throw ue(new dd("All edge sections need a start point."))}function P9n(e,t){var n,r,s,o,f,g,w;for(r=r1t(e),o=0,g=r.length;o>22-t,s=e.h<>22-t):t<44?(n=0,r=e.l<>44-t):(n=0,r=0,s=e.l<e)throw ue(new Wn("k must be smaller than n"));return t==0||t==e?1:e==0?0:jxe(e)/(jxe(t)*jxe(e-t))}function d9e(e,t){var n,r,s,o;for(n=new Lye(e);n.g==null&&!n.c?o6e(n):n.g==null||n.i!=0&&l(n.g[n.i-1],51).Ob();)if(o=l(IV(n),58),De(o,167))for(r=l(o,167),s=0;s>4],t[n*2+1]=BY[o&15];return If(t,0,t.length)}function Q9n(e){LH();var t,n,r;switch(r=e.c.length,r){case 0:return N6t;case 1:return t=l(g2t(new K(e)),44),Udn(t.ld(),t.md());default:return n=l(j1(e,We(mv,rG,44,e.c.length,0,1)),173),new f3e(n)}}function J9n(e){var t,n,r,s,o,f;for(t=new H5,n=new H5,Tb(t,e),Tb(n,e);n.b!=n.c;)for(s=l(Q8(n),36),f=new K(s.a);f.a0&&vP(e,n,t),s):$Tn(e,t,n)}function Pb(){Pb=U,jCt=(bi(),r9),$Ct=Dv,PCt=Mv,BCt=a7,FCt=em,NCt=s7,JIe=rF,RCt=L4,fge=(_ke(),TCt),dge=ECt,eOe=ACt,gge=DCt,tOe=LCt,nOe=MCt,ZIe=CCt,YW=SCt,XW=_Ct,VB=ICt,rOe=OCt,QIe=kCt}function Ppt(e,t){var n,r,s,o,f;if(e.e<=t||kbn(e,e.g,t))return e.g;for(o=e.r,r=e.g,f=e.r,s=(o-r)/2+r;r+11&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=b.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function rkn(e){var t,n,r,s;switch(s=e.i,t=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(e.g.b.o.a-r.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function ikn(e,t,n){var r,s,o;for(s=new lr(fr(up(n).a.Kc(),new j));Rr(s);)r=l(yr(s),18),!Ao(r)&&!(!Ao(r)&&r.c.i.c==r.d.i.c)&&(o=Cbt(e,r,n,new _Je),o.c.length>1&&qn(t.c,o))}function Fpt(e,t,n,r,s){if(rr&&(e.a=r),e.bs&&(e.b=s),e}function skn(e){if(De(e,143))return BCn(l(e,143));if(De(e,233))return S5n(l(e,233));if(De(e,23))return F9n(l(e,23));throw ue(new Wn(BSe+Ob(new Ll(he(le(ka,1),jn,1,5,[e])))))}function akn(e,t,n,r,s){var o,f,g;for(o=!0,f=0;f>>s|n[f+r+1]<>>s,++f}return o}function m9e(e,t,n,r){var s,o,f;if(t.k==(Jn(),Aa)){for(o=new lr(fr(Ea(t).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),f=s.c.i.k,f==Aa&&e.c.a[s.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0}return!1}function okn(e,t){var n,r,s,o;return t&=63,n=e.h&pp,t<22?(o=n>>>t,s=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(o=0,s=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(o=0,s=0,r=n>>>t-44),qu(r&Ql,s&Ql,o&pp)}function Rpt(e,t,n,r){var s;this.b=r,this.e=e==(jw(),cM),s=t[n],this.d=Fm(th,[dt,vg],[183,28],16,[s.length,s.length],2),this.a=Fm(Ur,[dt,fi],[53,28],15,[s.length,s.length],2),this.c=new Jxe(t,n)}function ckn(e){var t,n,r;for(e.k=new l6e((_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,e.j.c.length),r=new K(e.j);r.a=n)return UT(e,t,r.p),!0;return!1}function u6(e,t,n,r){var s,o,f,g,w,T;for(f=n.length,o=0,s=-1,T=Dht((Yn(t,e.length+1),e.substr(t)),(Aae(),O_e)),g=0;go&&Pgn(T,Dht(n[g],O_e))&&(s=g,o=w);return s>=0&&(r[0]=t+o),s}function $pt(e){var t;return e.Db&64?Yue(e):(t=new Eh(CSe),!e.a||li(li((t.a+=' "',t),e.a),'"'),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function zpt(e,t,n){var r,s,o,f,g;for(g=Wu(e.e.Dh(),t),s=l(e.g,124),r=0,f=0;fn?_9e(e,n,"start index"):t<0||t>n?_9e(t,n,"end index"):WA("end index (%s) must not be less than start index (%s)",he(le(ka,1),jn,1,5,[bt(t),bt(e)]))}function Hpt(e,t){var n,r,s,o;for(r=0,s=e.length;r0&&Upt(e,o,n));t.p=0}function Qt(e){var t;this.c=new os,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=l(G0(Eg),9),new Jh(t,l(o0(t,t.length),9),0)),this.g=e.f}function gkn(e){var t,n,r,s;for(t=yb(li(new Eh("Predicates."),"and"),40),n=!0,s=new xr(e);s.b0?g[f-1]:We(kg,S2,10,0,0,1),s=g[f],T=f=0?e.ki(s):D9e(e,r);else throw ue(new Wn(qb+r.xe()+TL));else throw ue(new Wn(q4t+t+H4t));else of(e,n,r)}function v9e(e){var t,n;if(n=null,t=!1,De(e,211)&&(t=!0,n=l(e,211).a),t||De(e,263)&&(t=!0,n=""+l(e,263).a),t||De(e,493)&&(t=!0,n=""+l(e,493).a),!t)throw ue(new hse(PSe));return n}function w9e(e,t,n){var r,s,o,f,g,w;for(w=Wu(e.e.Dh(),t),r=0,g=e.i,s=l(e.g,124),f=0;f=e.d.b.c.length&&(t=new vu(e.d),t.p=r.p-1,wt(e.d.b,t),n=new vu(e.d),n.p=r.p,wt(e.d.b,n)),Ha(r,l(Rt(e.d.b,r.p),30))}function k9e(e,t,n){var r,s,o;if(!e.b[t.g]){for(e.b[t.g]=!0,r=n,!r&&(r=new lN),ci(r.b,t),o=e.a[t.g].Kc();o.Ob();)s=l(o.Pb(),65),s.b!=t&&k9e(e,s.b,r),s.c!=t&&k9e(e,s.c,r),ci(r.a,s);return r}return null}function vkn(e){switch(e.g){case 0:case 1:case 2:return _t(),Xn;case 3:case 4:case 5:return _t(),Mr;case 6:case 7:case 8:return _t(),Zn;case 9:case 10:case 11:return _t(),sr;default:return _t(),jc}}function wkn(e,t){var n;return e.c.length==0?!1:(n=cdt((Sn(0,e.c.length),l(e.c[0],18)).c.i),Sh(),n==(jy(),W6)||n==K6?!0:X5(gc(new vn(null,new kn(e,16)),new lte),new SXe(t)))}function Zue(e,t){if(De(t,207))return dhn(e,l(t,27));if(De(t,193))return ghn(e,l(t,123));if(De(t,452))return fhn(e,l(t,166));throw ue(new Wn(BSe+Ob(new Ll(he(le(ka,1),jn,1,5,[t])))))}function Xpt(e,t,n){var r,s;if(this.f=e,r=l(or(e.b,t),260),s=r?r.a:0,$6e(n,s),n>=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++0;)l7e(this);this.b=t,this.a=null}function ykn(e,t){var n,r;t.a?eSn(e,t):(n=l(kse(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),r=l(xse(e.b,t.b),60),r&&e.a[r.f]==t.b&&r.a&&r.a!=t.b.a&&t.b.c.Fc(r),pae(e.b,t.b))}function Qpt(e,t){var n,r;if(n=l(Zo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((gh(),Ov))&&Tmt(e,t),r=W6n(e,t),fle(e,t)==(r6(),nm)&&(r+=2*e.w),n.a.a=r}function Jpt(e,t){var n,r;if(n=l(Zo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((gh(),Ov))&&Emt(e,t),r=K6n(e,t),fle(e,t)==(r6(),nm)&&(r+=2*e.w),n.a.b=r}function xkn(e,t){var n,r,s,o;for(o=new mt,r=new K(t);r.ar&&(Yn(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||tn.a&&(r.Hc((rv(),EM))?s=(t.a-n.a)/2:r.Hc(CM)&&(s=t.a-n.a)),t.b>n.b&&(r.Hc((rv(),_M))?o=(t.b-n.b)/2:r.Hc(SM)&&(o=t.b-n.b)),o9e(e,s,o)}function s2t(e,t,n,r,s,o,f,g,w,T,C,L,F){De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),4),Bu(e,n),e.f=f,DT(e,g),OT(e,w),MT(e,T),IT(e,C),v2(e,L),NT(e,F),m2(e,!0),d2(e,s),e.Zk(o),ev(e,t),r!=null&&(e.i=null,AU(e,r))}function _9e(e,t,n){if(e<0)return WA(n3t,he(le(ka,1),jn,1,5,[n,bt(e)]));if(t<0)throw ue(new Wn(r3t+t));return WA("%s (%s) must not be greater than size (%s)",he(le(ka,1),jn,1,5,[n,bt(e),bt(t)]))}function A9e(e,t,n,r,s,o){var f,g,w,T;if(f=r-n,f<7){p5n(t,n,r,o);return}if(w=n+s,g=r+s,T=w+(g-w>>1),A9e(t,e,w,T,-s,o),A9e(t,e,T,g,-s,o),o.Ne(e[T-1],e[T])<=0){for(;n=0?e.bi(o,n):ike(e,s,n);else throw ue(new Wn(qb+s.xe()+TL));else throw ue(new Wn(q4t+t+H4t));else cf(e,r,s,n)}function a2t(e){var t,n;if(e.f){for(;e.n>0;){if(t=l(e.k.Xb(e.n-1),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&nu&&(!e.e||n.pk()!=uC||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function o2t(e){var t,n,r,s;if(n=l(e,54)._h(),n)try{if(r=null,t=GT((db(),Gf),Gmt(_5n(n))),t&&(s=t.ai(),s&&(r=s.Fl(Aun(n.e)))),r&&r!=e)return o2t(r)}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}return e}function Fkn(e,t,n){var r,s,o;n.Ug("Remove overlaps",1),n.dh(t,RCe),r=l(at(t,(V5(),Q6)),27),e.f=r,e.a=wue(l(at(t,(Pb(),VB)),300)),s=Ge(at(t,(bi(),Dv))),_e(e,(tr(s),s)),o=Gy(r),gwt(e,t,o,n),n.dh(t,$G)}function Rkn(e){var t,n,r;if(Ft(Pt(at(e,(bi(),tF))))){for(r=new mt,n=new lr(fr(fp(e).a.Kc(),new j));Rr(n);)t=l(yr(n),74),Yw(t)&&Ft(Pt(at(t,Kge)))&&qn(r.c,t);return r}else return Cn(),Cn(),Co}function c2t(e){if(!e)return aZe(),H6t;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=z0e[typeof t];return n?n(t):m8e(typeof t)}else return e instanceof Array||e instanceof b.Array?new Oz(e):new xk(e)}function u2t(e,t,n){var r,s,o;switch(o=e.o,r=l(Zo(e.p,n),252),s=r.i,s.b=lP(r),s.a=uP(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!t&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}Cle(r),Sle(r)}function l2t(e,t,n){var r,s,o;switch(o=e.o,r=l(Zo(e.p,n),252),s=r.i,s.b=lP(r),s.a=uP(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!t&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}Cle(r),Sle(r)}function jkn(e,t){var n,r,s,o,f;if(!t.dc()){if(s=l(t.Xb(0),131),t.gc()==1){zbt(e,s,s,1,0,t);return}for(n=1;n0)try{s=Oh(t,ao,Ni)}catch(o){throw o=ms(o),De(o,130)?(r=o,ue(new uU(r))):ue(o)}return n=(!e.a&&(e.a=new Yie(e)),e.a),s=0?l(Oe(n,s),58):null}function Hkn(e,t){if(e<0)return WA(n3t,he(le(ka,1),jn,1,5,["index",bt(e)]));if(t<0)throw ue(new Wn(r3t+t));return WA("%s (%s) must be less than size (%s)",he(le(ka,1),jn,1,5,["index",bt(e),bt(t)]))}function Ukn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r=0?e.Lh(n,!0,!0):Xw(e,s,!0),160)),l(r,220).Zl(t);else throw ue(new Wn(qb+t.xe()+TL))}function I9e(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=da(b.Math.floor(b.Math.log(e)/.6931471805599453)),(!t||e!=b.Math.pow(2,n))&&++n,n):_0t(tu(e))}function sTn(e){var t,n,r,s,o,f,g;for(o=new bd,n=new K(e);n.a2&&g.e.b+g.j.b<=2&&(s=g,r=f),o.a.zc(s,o),s.q=r);return o}function aTn(e,t,n){n.Ug("Eades radial",1),n.dh(t,$G),e.d=l(at(t,(V5(),Q6)),27),e.c=ze(Ge(at(t,(Pb(),XW)))),e.e=wue(l(at(t,VB),300)),e.a=P5n(l(at(t,rOe),434)),e.b=txn(l(at(t,ZIe),354)),F8n(e),n.dh(t,$G)}function oTn(e,t){if(t.Ug("Target Width Setter",1),P1(e,(z1(),Sge)))Vi(e,(fg(),_4),Ge(at(e,Sge)));else throw ue(new Zp("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function p2t(e,t){var n,r,s;return r=new hp(e),mc(r,t),rt(r,(ft(),dW),t),rt(r,(Nt(),Ds),(Pa(),Au)),rt(r,Rd,(lg(),cY)),x(r,(Jn(),Ks)),n=new du,Nc(n,r),ga(n,(_t(),Zn)),s=new du,Nc(s,r),ga(s,sr),r}function b2t(e){switch(e.g){case 0:return new cse((jw(),jB));case 1:return new hie;case 2:return new fie;default:throw ue(new Wn("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function m2t(e,t){var n,r,s,o,f;for(e.c[t.p]=!0,wt(e.a,t),f=new K(t.j);f.a=o)f.$b();else for(s=f.Kc(),r=0;r0?m3e():f<0&&x2t(e,t,-f),!0):!1}function uP(e){var t,n,r,s,o,f,g;if(g=0,e.b==0){for(f=rgt(e,!0),t=0,r=f,s=0,o=r.length;s0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}else g=vZe(kce(Ey(ji(S5e(e.a),new Ya),new Ba)));return g>0?g+e.n.d+e.n.a:0}function lP(e){var t,n,r,s,o,f,g;if(g=0,e.b==0)g=vZe(kce(Ey(ji(S5e(e.a),new Ac),new Jc)));else{for(f=igt(e,!0),t=0,r=f,s=0,o=r.length;s0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}return g>0?g+e.n.b+e.n.c:0}function gTn(e){var t,n;if(e.c.length!=2)throw ue(new ic("Order only allowed for two paths."));t=(Sn(0,e.c.length),l(e.c[0],18)),n=(Sn(1,e.c.length),l(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,qn(e.c,n),qn(e.c,t))}function k2t(e,t,n){var r;for(j5(n,t.g,t.f),Xh(n,t.i,t.j),r=0;r<(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i;r++)k2t(e,l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),r),27),l(Oe((!n.a&&(n.a=new nt(Li,n,10,11)),n.a),r),27))}function pTn(e,t){var n,r,s,o;for(o=l(Zo(e.b,t),127),n=o.a,s=l(l($i(e.r,t),21),87).Kc();s.Ob();)r=l(s.Pb(),117),r.c&&(n.a=b.Math.max(n.a,r5e(r.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function bTn(e,t){var n,r,s;return n=l(Q(t,(p0(),Hx)),17).a-l(Q(e,Hx),17).a,n==0?(r=ya(Xa(l(Q(e,(Cb(),wB)),8)),l(Q(e,zL),8)),s=ya(Xa(l(Q(t,wB),8)),l(Q(t,zL),8)),Xi(r.a*r.b,s.a*s.b)):n}function mTn(e,t){var n,r,s;return n=l(Q(t,(Vc(),VW)),17).a-l(Q(e,VW),17).a,n==0?(r=ya(Xa(l(Q(e,(Zi(),qB)),8)),l(Q(e,ZE),8)),s=ya(Xa(l(Q(t,qB),8)),l(Q(t,ZE),8)),Xi(r.a*r.b,s.a*s.b)):n}function T2t(e){var t,n;return n=new lb,n.a+="e_",t=lyn(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(li((n.a+=" ",n),wV(e.c)),li(mu((n.a+="[",n),e.c.i),"]"),li((n.a+=Yhe,n),wV(e.d)),li(mu((n.a+="[",n),e.d.i),"]")),n.a}function E2t(e){switch(e.g){case 0:return new yie;case 1:return new pk;case 2:return new wie;case 3:return new vie;default:throw ue(new Wn("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function P9e(e,t,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,t.b+e.b-(n.b+r));break;case 3:o=b.Math.max(0,-e.b-r);break;case 2:o=b.Math.max(0,-e.a-r);break;case 4:o=b.Math.max(0,t.a+e.a-(n.a+r))}return o}function vTn(e,t,n){var r,s,o,f,g;if(n)for(s=n.a.length,r=new jm(s),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),o=eT(n,f.a),LSe in o.a||u0e in o.a?I_n(e,o,t):QIn(e,o,t),Xhn(l(or(e.b,BT(o)),74))}function B9e(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=Of(e),t&&(Ro(),t.lk()==U5t)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function F9e(e,t){var n,r,s,o;if(Mi(e),e.c!=0||e.a!=123)throw ue(new ri(si((Jr(),f5t))));if(o=t==112,r=e.d,n=Bk(e.i,125,r),n<0)throw ue(new ri(si((Jr(),d5t))));return s=ef(e.i,r,n),e.d=n+1,Wlt(s,o,(e.e&512)==512)}function C2t(e){var t,n,r,s,o,f,g;if(r=e.a.c.length,r>0)for(f=e.c.d,g=e.d.d,s=md(ya(new lt(g.a,g.b),f),1/(r+1)),o=new lt(f.a,f.b),n=new K(e.a);n.a=0&&r=0?e.Lh(n,!0,!0):Xw(e,s,!0),160)),l(r,220).Wl(t);throw ue(new Wn(qb+t.xe()+e0e))}function kTn(){j3e();var e;return AAt?l(GT((db(),Gf),Ff),2038):(yi(mv,new zI),mDn(),e=l(De(wu((db(),Gf),Ff),560)?wu(Gf,Ff):new qat,560),AAt=!0,vOn(e),COn(e),Ti((R3e(),VPe),e,new k1),sc(Gf,Ff,e),e)}function TTn(e,t){var n,r,s,o;e.j=-1,ch(e.e)?(n=e.i,o=e.i!=0,uN(e,t),r=new rp(e.e,3,e.c,null,t,n,o),s=t.zl(e.e,e.c,null),s=spt(e,t,s),s?(s.nj(r),s.oj()):Bi(e.e,r)):(uN(e,t),s=t.zl(e.e,e.c,null),s&&s.oj())}function LV(e,t){var n,r,s;if(s=0,r=t[0],r>=e.length)return-1;for(n=(Yn(r,e.length),e.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=e.length));)n=(Yn(r,e.length),e.charCodeAt(r));return r>t[0]?t[0]=r:s=-1,s}function ETn(e){var t,n,r,s,o;return s=l(e.a,17).a,o=l(e.b,17).a,n=s,r=o,t=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-t&&o!=t?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new fa(bt(n),bt(r))}function CTn(e,t,n,r){var s,o,f,g,w,T;for(s=0;s=0&&T>=0&&w=e.i)throw ue(new rc(h0e+t+gv+e.i));if(n>=e.i)throw ue(new rc(f0e+n+gv+e.i));return r=e.g[n],t!=n&&(t>16),t=r>>16&16,n=16-t,e=e>>t,r=e-256,t=r>>16&8,n+=t,e<<=t,r=e-Zy,t=r>>16&4,n+=t,e<<=t,r=e-_d,t=r>>16&2,n+=t,e<<=t,r=e>>14,t=r&~(r>>1),n+2-t)}function _Tn(e){nx();var t,n,r,s;for(SK=new mt,l1e=new Nr,u1e=new mt,t=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),mIn(t),s=new ar(t);s.e!=s.i.gc();)r=l(dr(s),27),bc(SK,r,0)==-1&&(n=new mt,wt(u1e,n),Ldt(r,n));return u1e}function ATn(e,t,n){var r,s,o,f;e.a=n.b.d,De(t,326)?(s=f6(l(t,74),!1,!1),o=sP(s),r=new n_(e),Za(o,r),xP(o,s),t.of((bi(),A3))!=null&&Za(l(t.of(A3),75),r)):(f=l(t,422),f.rh(f.nh()+e.a.a),f.sh(f.oh()+e.a.b))}function LTn(e,t){var n,r,s;for(s=new mt,r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),n.c.g==e.g&&qe(Q(n.b,(Vc(),$d)))!==qe(Q(n.c,$d))&&!X5(new vn(null,new kn(s,16)),new RXe(n))&&qn(s.c,n);return Gs(s,new Ute),s}function _2t(e,t,n){var r,s,o,f;return De(t,153)&&De(n,153)?(o=l(t,153),f=l(n,153),e.a[o.a][f.a]+e.a[f.a][o.a]):De(t,250)&&De(n,250)&&(r=l(t,250),s=l(n,250),r.a==s.a)?l(Q(s.a,(p0(),Hx)),17).a:0}function A2t(e,t){var n,r,s,o,f,g,w,T;for(T=ze(Ge(Q(t,(Nt(),nM)))),w=e[0].n.a+e[0].o.a+e[0].d.c+T,g=1;g=0?n:(g=tA(ya(new lt(f.c+f.b/2,f.d+f.a/2),new lt(o.c+o.b/2,o.d+o.a/2))),-(evt(o,f)-1)*g)}function DTn(e,t,n){var r;Os(new vn(null,(!n.a&&(n.a=new nt(cs,n,6,6)),new kn(n.a,16))),new Htt(e,t)),Os(new vn(null,(!n.n&&(n.n=new nt(nc,n,1,7)),new kn(n.n,16))),new Utt(e,t)),r=l(at(n,(bi(),A3)),75),r&&$7e(r,e,t)}function Xw(e,t,n){var r,s,o;if(o=b6((kl(),no),e.Dh(),t),o)return Ro(),l(o,69).xk()||(o=ix(ac(no,o))),s=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Xw(e,o,!0),160)),l(s,220).Sl(t,n);throw ue(new Wn(qb+t.xe()+e0e))}function R9e(e,t,n,r){var s,o,f,g,w;if(s=e.d[t],s){if(o=s.g,w=s.i,r!=null){for(g=0;g=n&&(r=t,T=(w.c+w.a)/2,f=T-n,w.c<=T-n&&(s=new Iae(w.c,f),kw(e,r++,s)),g=T+n,g<=w.a&&(o=new Iae(g,w.a),Sy(r,e.c.length),k_(e.c,r,o)))}function D2t(e,t,n){var r,s,o,f,g,w;if(!t.dc()){for(s=new os,w=t.Kc();w.Ob();)for(g=l(w.Pb(),40),Ti(e.a,bt(g.g),bt(n)),f=(r=Fr(new Kg(g).a.d,0),new _5(r));sO(f.a);)o=l(Pr(f.a),65).c,_s(s,o,s.c.b,s.c);D2t(e,s,n+1)}}function j9e(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),zr(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=l(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(IV(e),j9e(e)):t.Ob()}function I2t(e){if(this.a=e,e.c.i.k==(Jn(),Ks))this.c=e.c,this.d=l(Q(e.c.i,(ft(),Xc)),64);else if(e.d.i.k==Ks)this.c=e.d,this.d=l(Q(e.d.i,(ft(),Xc)),64);else throw ue(new Wn("Edge "+e+" is not an external edge."))}function O2t(e,t){var n,r,s;s=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,s,e.b)),t?t!=e&&(Bu(e,t.zb),hce(e,t.d),n=(r=t.c,r??t.zb),dce(e,n==null||wn(n,t.zb)?null:n)):(Bu(e,null),hce(e,0),dce(e,null))}function N2t(e,t){var n;this.e=(Sw(),Xr(e),Sw(),Z8e(e)),this.c=(Xr(t),Z8e(t)),qye(this.e.Rd().dc()==this.c.Rd().dc()),this.d=Y1t(this.e),this.b=Y1t(this.c),n=Fm(ka,[dt,jn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,a3n(this)}function P2t(e){!j0e&&(j0e=LIn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return O2n(n)});return'"'+t+'"'}function $9e(e,t,n,r,s,o){var f,g,w,T,C;if(s!=0)for(qe(e)===qe(n)&&(e=e.slice(t,t+s),t=0),w=n,g=t,T=t+s;g=f)throw ue(new yy(t,f));return s=n[t],f==1?r=null:(r=We(gpe,m0e,424,f-1,0,1),gu(n,0,r,0,t),o=f-t-1,o>0&&gu(n,t+1,r,t,o)),FT(e,r),i2t(e,t,s),s}function F2t(e){var t,n;if(e.f){for(;e.n0?o=px(n):o=UN(px(n))),Vi(t,GE,o)}function RTn(e,t){var n;t.Ug("Partition preprocessing",1),n=l(kc(ji(Pc(ji(new vn(null,new kn(e.a,16)),new qZ),new HZ),new Sj),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),Os(n.Oc(),new n8),t.Vg()}function jTn(e,t){var n,r,s,o,f;for(f=e.j,t.a!=t.b&&Gs(f,new TS),s=f.c.length/2|0,r=0;r0&&vP(e,n,t),o):r.a!=null?(vP(e,t,n),-1):s.a!=null?(vP(e,n,t),1):0}function zTn(e,t){var n,r,s,o,f;for(s=t.b.b,e.a=We(bf,e4,15,s,0,1),e.b=We(th,vg,28,s,16,1),f=Fr(t.b,0);f.b!=f.d.c;)o=l(Pr(f),40),e.a[o.g]=new os;for(r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function z2t(e,t){var n,r,s,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),r=e.Ij(3,null,t,n,o),e.Mj()?(s=e.Nj(t,null),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):(Dat(e,t),e.Mj()&&(s=e.Nj(t,null),s&&s.oj()))}function z9e(e,t,n){var r,s,o;e.Pj()?(o=e.Qj(),$N(e,t,n),r=e.Ij(3,null,n,t,o),e.Mj()?(s=e.Nj(n,null),e.Tj()&&(s=e.Uj(n,s)),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):($N(e,t,n),e.Mj()&&(s=e.Nj(n,null),s&&s.oj()))}function MV(e,t){var n,r,s,o,f;for(f=Wu(e.e.Dh(),t),s=new sb,n=l(e.g,124),o=e.i;--o>=0;)r=n[o],f.am(r.Lk())&&zr(s,r);!Bwt(e,s)&&ch(e.e)&&Tk(e,t.Jk()?kb(e,6,t,(Cn(),Co),null,-1,!1):kb(e,t.tk()?2:1,t,null,null,-1,!1))}function qTn(e,t){var n,r,s,o,f;return e.a==(HT(),VL)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(r=t.A,f=r.c.c.a-r.o.a/2,s=o-(r.n.a+r.o.a),s>f)||t.q&&(r=t.C,f=r.c.c.a-r.o.a/2,s=r.n.a-n,s>f)))}function q2t(e){Soe();var t,n,r,s,o,f,g;for(n=new u2,s=new K(e.e.b);s.a1?e.e*=ze(e.a):e.f/=ze(e.a),l4n(e),b6n(e),d_n(e),rt(e.b,(OA(),CK),e.g)}function G2t(e,t,n){var r,s,o,f,g,w;for(r=0,w=n,t||(r=n*(e.c.length-1),w*=-1),o=new K(e);o.a=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(l(s,54),n),r&&r.oj(),e.vh()&&e.wh()&&n>-1&&Bi(e,new _a(e,9,n,o,s)),s):o}function U9e(e,t){var n,r,s,o,f;for(o=e.b.Ce(t),r=(n=e.a.get(o),n??We(ka,jn,1,0,5,1)),f=0;f>5,s>=e.d)return e.e<0;if(n=e.a[s],t=1<<(t&31),e.e<0){if(r=a0t(e),s>16)),15).dd(o),g0&&(!(Yg(e.a.c)&&t.n.d)&&!(R5(e.a.c)&&t.n.b)&&(t.g.d+=b.Math.max(0,r/2-.5)),!(Yg(e.a.c)&&t.n.a)&&!(R5(e.a.c)&&t.n.c)&&(t.g.a-=r-1))}function tbt(e){var t,n,r,s,o;if(s=new mt,o=Xmt(e,s),t=l(Q(e,(ft(),Bl)),10),t)for(r=new K(t.j);r.a>t,o=e.m>>t|n<<22-t,s=e.l>>t|e.m<<22-t):t<44?(f=r?pp:0,o=n>>t-22,s=e.m>>t-22|n<<44-t):(f=r?pp:0,o=r?Ql:0,s=n>>t-44),qu(s&Ql,o&Ql,f&pp)}function ale(e){var t,n,r,s,o,f;for(this.c=new mt,this.d=e,r=gs,s=gs,t=oa,n=oa,f=Fr(e,0);f.b!=f.d.c;)o=l(Pr(f),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),t=b.Math.max(t,o.a),n=b.Math.max(n,o.b);this.a=new Zh(r,s,t-r,n-s)}function rbt(e,t){var n,r,s,o,f,g;for(o=new K(e.b);o.a0&&De(t,44)&&(e.a._j(),T=l(t,44),w=T.ld(),o=w==null?0:ts(w),f=p4e(e.a,o),n=e.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g=2)for(n=s.Kc(),t=Ge(n.Pb());n.Ob();)o=t,t=Ge(n.Pb()),r=b.Math.min(r,(tr(t),t-(tr(o),o)));return r}function lEn(e,t){var n,r,s;for(s=new mt,r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),n.b.g==e.g&&!wn(n.b.c,RG)&&qe(Q(n.b,(Vc(),$d)))!==qe(Q(n.c,$d))&&!X5(new vn(null,new kn(s,16)),new jXe(n))&&qn(s.c,n);return Gs(s,new Wte),s}function hEn(e,t){var n,r,s;if(qe(t)===qe(Xr(e)))return!0;if(!De(t,15)||(r=l(t,15),s=e.gc(),s!=r.gc()))return!1;if(De(r,59)){for(n=0;n0&&(s=n),f=new K(e.f.e);f.a0?(t-=1,n-=1):r>=0&&s<0?(t+=1,n+=1):r>0&&s>=0?(t-=1,n+=1):(t+=1,n-=1),new fa(bt(t),bt(n))}function CEn(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?ts(e.a)-ts(t.a):e.d==(cA(),lM)&&t.d==uM?-1:e.d==uM&&t.d==lM?1:0}function lbt(e,t){var n,r,s,o,f;return o=t.a,o.c.i==t.b?f=o.d:f=o.c,o.c.i==t.b?r=o.c:r=o.d,s=K5n(e.a,f,r),s>0&&s0):s<0&&-s0):!1}function SEn(e,t,n,r){var s,o,f,g,w,T,C,L;for(s=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,L=new K(e.c);L.a>24;return f}function AEn(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,r=e.d;r=r.split("/"),e.o=lue(".",[n,lue("$",r)]),e.b=lue(".",[n,lue(".",r)]),e.k=r[r.length-1]}function LEn(e,t){var n,r,s,o,f;for(f=null,o=new K(e.e.a);o.a=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(r=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=r,r=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=r);e.c=!0}}function IEn(e,t){var n,r,s,o,f,g,w,T,C;for(T=-1,C=0,f=e,g=0,w=f.length;g0&&++C;++T}return C}function d0(e){var t,n;return n=new Eh(Pm(e.Rm)),n.a+="@",li(n,(t=ts(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",mu(n,e._h()),e.Kh()&&(n.a+=" eClass: ",mu(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",mu(n,e.Kh()),n.a+=")"),n.a}function UA(e){var t,n,r,s;if(e.e)throw ue(new ic((Xg(J0e),Lhe+J0e.k+Mhe)));for(e.d==(ea(),J1)&&JV(e,hc),n=new K(e.a.a);n.a>24}return n}function PEn(e,t,n){var r,s,o;if(s=l(Zo(e.i,t),314),!s)if(s=new Xht(e.d,t,n),J8(e.i,t,s),ixe(t))jhn(e.a,t.c,t.b,s);else switch(o=vkn(t),r=l(Zo(e.p,o),252),o.g){case 1:case 3:s.j=!0,lse(r,t.b,s);break;case 4:case 2:s.k=!0,lse(r,t.c,s)}return s}function BEn(e,t){var n,r,s,o,f,g,w,T,C;for(w=rg(e.c-e.b&e.a.length-1),T=null,C=null,o=new rA(e);o.a!=o.b;)s=l(UU(o),10),n=(g=l(Q(s,(ft(),a1)),12),g?g.i:null),r=(f=l(Q(s,$f),12),f?f.i:null),(T!=n||C!=r)&&(K2t(w,t),T=n,C=r),qn(w.c,s);K2t(w,t)}function FEn(e,t,n,r){var s,o,f,g,w,T;if(g=new sb,w=Wu(e.e.Dh(),t),s=l(e.g,124),Ro(),l(t,69).xk())for(f=0;f=0)return s;for(o=1,g=new K(t.j);g.a=0)return s;for(o=1,g=new K(t.j);g.a0&&t.Ne((Sn(s-1,e.c.length),l(e.c[s-1],10)),o)>0;)nf(e,s,(Sn(s-1,e.c.length),l(e.c[s-1],10))),--s;Sn(s,e.c.length),e.c[s]=o}n.a=new Nr,n.b=new Nr}function REn(e,t,n){var r,s,o,f,g,w,T,C;for(C=(r=l(t.e&&t.e(),9),new Jh(r,l(o0(r,r.length),9),0)),w=Yy(n,"[\\[\\]\\s,]+"),o=w,f=0,g=o.length;f=0?(t||(t=new f_,r>0&&Jo(t,(Va(0,r,e.length),e.substr(0,r)))),t.a+="\\",Kk(t,n&ta)):t&&Kk(t,n&ta);return t?t.a:e}function $En(e){var t,n,r;for(n=new K(e.a.a.b);n.a0&&(!(Yg(e.a.c)&&t.n.d)&&!(R5(e.a.c)&&t.n.b)&&(t.g.d-=b.Math.max(0,r/2-.5)),!(Yg(e.a.c)&&t.n.a)&&!(R5(e.a.c)&&t.n.c)&&(t.g.a+=b.Math.max(0,r-1)))}function wbt(e,t,n){var r,s;if((e.c-e.b&e.a.length-1)==2)t==(_t(),Xn)||t==sr?(bU(l(yA(e),15),(Ih(),Cg)),bU(l(yA(e),15),tm)):(bU(l(yA(e),15),(Ih(),tm)),bU(l(yA(e),15),Cg));else for(s=new rA(e);s.a!=s.b;)r=l(UU(s),15),bU(r,n)}function zEn(e,t){var n,r,s,o,f,g,w;for(s=qk(new Rwe(e)),g=new Ua(s,s.c.length),o=qk(new Rwe(t)),w=new Ua(o,o.c.length),f=null;g.b>0&&w.b>0&&(n=(br(g.b>0),l(g.a.Xb(g.c=--g.b),27)),r=(br(w.b>0),l(w.a.Xb(w.c=--w.b),27)),n==r);)f=n;return f}function ybt(e,t,n){var r,s,o,f;xct(e,t)>xct(e,n)?(r=Fc(n,(_t(),sr)),e.d=r.dc()?0:Rae(l(r.Xb(0),12)),f=Fc(t,Zn),e.b=f.dc()?0:Rae(l(f.Xb(0),12))):(s=Fc(n,(_t(),Zn)),e.d=s.dc()?0:Rae(l(s.Xb(0),12)),o=Fc(t,sr),e.b=o.dc()?0:Rae(l(o.Xb(0),12)))}function xbt(e,t){var n,r,s,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)s=l(o.Pb(),117),s.e.a=n*ze(Ge(s.b.of(kK))),s.e.b=(r=s.b,r.pf((bi(),eh))?r.ag()==(_t(),Xn)?-r.Mf().b-ze(Ge(r.of(eh))):ze(Ge(r.of(eh))):r.ag()==(_t(),Xn)?-r.Mf().b:0)}function qEn(e,t){var n,r,s,o;for(t.Ug("Self-Loop pre-processing",1),r=new K(e.a);r.ae.c));f++)s.a>=e.s&&(o<0&&(o=f),g=f);return w=(e.s+e.c)/2,o>=0&&(r=M_n(e,t,o,g),w=Aln((Sn(r,t.c.length),l(t.c[r],339))),PTn(t,r,n)),w}function Wr(e,t,n){var r,s,o,f,g,w,T;for(f=(o=new OI,o),I7e(f,(tr(t),t)),T=(!f.b&&(f.b=new lh((En(),Do),Qc,f)),f.b),w=1;w0&&SMn(this,s)}function tke(e,t,n,r,s,o){var f,g,w;if(!s[t.a]){for(s[t.a]=!0,f=r,!f&&(f=new eU),wt(f.e,t),w=o[t.a].Kc();w.Ob();)g=l(w.Pb(),290),!(g.d==n||g.c==n)&&(g.c!=t&&tke(e,g.c,t,f,s,o),g.d!=t&&tke(e,g.d,t,f,s,o),wt(f.c,g),aa(f.d,g.b));return f}return null}function VEn(e){var t,n,r,s,o,f,g;for(t=0,s=new K(e.e);s.a=2}function GEn(e,t,n,r,s){var o,f,g,w,T,C;for(o=e.c.d.j,f=l(hf(n,0),8),C=1;C1||(t=is(k0,he(le(Ko,1),it,95,0,[xp,T0])),AN(zH(t,e))>1)||(r=is(C0,he(le(Ko,1),it,95,0,[Sg,qf])),AN(zH(r,e))>1))}function nke(e,t,n){var r,s,o;for(o=new K(e.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ci(t,r.b));for(s=new K(e.i);s.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ci(n,r.a))}function IV(e){var t,n,r,s,o;if(e.g==null&&(e.d=e.bj(e.f),zr(e,e.d),e.c))return o=e.f,o;if(t=l(e.g[e.i-1],51),s=t.Pb(),e.e=t,n=e.bj(s),n.Ob())e.d=n,zr(e,n);else for(e.d=null;!t.Ob()&&(Ss(e.g,--e.i,null),e.i!=0);)r=l(e.g[e.i-1],51),t=r;return s}function WEn(e,t){var n,r,s,o,f,g;if(r=t,s=r.Lk(),dp(e.e,s)){if(s.Si()&&YH(e,s,r.md()))return!1}else for(g=Wu(e.e.Dh(),s),n=l(e.g,124),o=0;o1||n>1)return 2;return t+n==1?2:0}function Yl(e,t){var n,r,s,o,f,g;return o=e.a*Che+e.b*1502,g=e.b*Che+11,n=b.Math.floor(g*RP),o+=n,g-=n*STe,o%=STe,e.a=o,e.b=g,t<=24?b.Math.floor(e.a*P_e[t]):(s=e.a*(1<=2147483648&&(r-=4294967296),r)}function Sbt(e,t,n){var r,s,o,f,g,w,T;for(o=new mt,T=new os,f=new os,bLn(e,T,f,t),WMn(e,T,f,t,n),w=new K(e);w.ar.b.g&&qn(o.c,r);return o}function eCn(e,t,n){var r,s,o,f,g,w;for(g=e.c,f=(n.q?n.q:(Cn(),Cn(),yg)).vc().Kc();f.Ob();)o=l(f.Pb(),44),r=!Lk(ji(new vn(null,new kn(g,16)),new Vl(new Btt(t,o)))).Bd((Bm(),qx)),r&&(w=o.md(),De(w,4)&&(s=oxe(w),s!=null&&(w=s)),t.qf(l(o.ld(),149),w))}function tCn(e,t,n){var r,s;if(XO(e.b),Y0(e.b,(HN(),tY),(m_(),XB)),Y0(e.b,nY,t.g),Y0(e.b,rY,t.a),e.a=EP(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(s=new K(e.a);s.a=0?e.Lh(r,!0,!0):Xw(e,o,!0),160)),l(s,220).Xl(t,n)}else throw ue(new Wn(qb+t.xe()+TL))}function OV(e,t){var n,r,s,o,f;if(t){for(o=De(e.Cb,90)||De(e.Cb,102),f=!o&&De(e.Cb,331),r=new ar((!t.a&&(t.a=new K_(t,Wo,t)),t.a));r.e!=r.i.gc();)if(n=l(dr(r),89),s=GV(n),o?De(s,90):f?De(s,156):s)return s;return o?(En(),Kf):(En(),td)}else return null}function nCn(e,t){var n,r,s,o;for(t.Ug("Resize child graph to fit parent.",1),r=new K(e.b);r.a=2*t&&wt(n,new Iae(f[r-1]+t,f[r]-t));return n}function sCn(e,t,n){var r,s,o,f,g,w,T,C;if(n)for(o=n.a.length,r=new jm(o),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),s=eT(n,f.a),s&&(w=Pmn(e,(T=(fb(),C=new r3e,C),t&&ske(T,t),T),s),gT(w,Zg(s,Pd)),EV(s,w),L9e(s,w),Oce(e,s,w))}function NV(e){var t,n,r,s,o,f;if(!e.j){if(f=new OS,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(pc(e));r.e!=r.i.gc();)n=l(dr(r),29),s=NV(n),Ls(f,s),zr(f,n);t.a.Bc(e)!=null}Py(f),e.j=new B5((l(Oe(tt((wb(),Un).o),11),19),f.i),f.g),Gl(e).b&=-33}return e.j}function aCn(e){var t,n,r,s;if(e==null)return null;if(r=ku(e,!0),s=cB.length,wn(r.substr(r.length-s,s),cB)){if(n=r.length,n==4){if(t=(Yn(0,r.length),r.charCodeAt(0)),t==43)return hBe;if(t==45)return YAt}else if(n==3)return hBe}return new Gwe(r)}function oCn(e){var t,n,r;return n=e.l,n&n-1||(r=e.m,r&r-1)||(t=e.h,t&t-1)||t==0&&r==0&&n==0?-1:t==0&&r==0&&n!=0?k7e(n):t==0&&r!=0&&n==0?k7e(r)+22:t!=0&&r==0&&n==0?k7e(t)+44:-1}function h6(e,t){var n,r,s,o,f;for(s=t.a&e.f,o=null,r=e.b[s];;r=r.b){if(r==t){o?o.b=t.b:e.b[s]=t.b;break}o=r}for(f=t.f&e.f,o=null,n=e.c[f];;n=n.d){if(n==t){o?o.d=t.d:e.c[f]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function cCn(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=l(Lf(l(ox(e.b,t.a),260)),260),n.a=0,++e.c):(n=l(Lf(l(or(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=l(Lf(t.c),511),t.c?t.c.e=t.e:n.c=l(Lf(t.e),511)),--e.d}function uCn(e){var t,n,r,s,o,f,g,w,T,C;for(n=e.o,t=e.p,f=Ni,s=ao,g=Ni,o=ao,T=0;T0),o.a.Xb(o.c=--o.b),wy(o,s),br(o.b3&&ug(e,0,t-3))}function hCn(e){var t,n,r,s;return qe(Q(e,(Nt(),v4)))===qe((op(),F2))?!e.e&&qe(Q(e,IB))!==qe((yT(),SB)):(r=l(Q(e,dde),299),s=Ft(Pt(Q(e,gde)))||qe(Q(e,ZL))===qe((gA(),CB)),t=l(Q(e,UMe),17).a,n=e.a.c.length,!s&&r!=(yT(),SB)&&(t==0||t>n))}function fCn(e){var t,n;for(n=0;n0);n++);if(n>0&&n0);t++);return t>0&&n>16!=6&&t){if(jT(e,t))throw ue(new Wn(EL+H2t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Axe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,6,r)),r=f4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,6,t,t))}function PV(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(jT(e,t))throw ue(new Wn(EL+Mvt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Ixe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,12,r)),r=d4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function ske(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=9&&t){if(jT(e,t))throw ue(new Wn(EL+Amt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Mxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,9,r)),r=g4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,9,t,t))}function KT(e){var t,n,r,s,o;if(r=Of(e),o=e.j,o==null&&r)return e.Jk()?null:r.ik();if(De(r,156)){if(n=r.jk(),n&&(s=n.wi(),s!=e.i)){if(t=l(r,156),t.nk())try{e.g=s.ti(t,o)}catch(f){if(f=ms(f),De(f,82))e.g=null;else throw ue(f)}e.i=s}return e.g}return null}function Mbt(e){var t;return t=new mt,wt(t,new F8(new lt(e.c,e.d),new lt(e.c+e.b,e.d))),wt(t,new F8(new lt(e.c,e.d),new lt(e.c,e.d+e.a))),wt(t,new F8(new lt(e.c+e.b,e.d+e.a),new lt(e.c+e.b,e.d))),wt(t,new F8(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a))),t}function dCn(e){var t,n,r;if(e==null)return cl;try{return Tc(e)}catch(s){if(s=ms(s),De(s,103))return t=s,r=Pm(dh(e))+"@"+(n=(Wg(),axe(e)>>>0),n.toString(16)),_6n(fyn(),(Ok(),"Exception during lenientFormat for "+r),t),"<"+r+" threw "+Pm(t.Rm)+">";throw ue(s)}}function gCn(e,t,n){var r,s,o;for(o=t.a.ec().Kc();o.Ob();)s=l(o.Pb(),74),r=l(or(e.b,s),272),!r&&(ds(hg(s))==ds(Ib(s))?tSn(e,s,n):hg(s)==ds(Ib(s))?or(e.c,s)==null&&or(e.b,Ib(s))!=null&&cwt(e,s,n,!1):or(e.d,s)==null&&or(e.b,hg(s))!=null&&cwt(e,s,n,!0))}function pCn(e,t){var n,r,s,o,f,g,w;for(s=e.Kc();s.Ob();)for(r=l(s.Pb(),10),g=new du,Nc(g,r),ga(g,(_t(),sr)),rt(g,(ft(),gW),(Hn(),!0)),f=t.Kc();f.Ob();)o=l(f.Pb(),10),w=new du,Nc(w,o),ga(w,Zn),rt(w,gW,!0),n=new Dw,rt(n,gW,!0),ho(n,g),Na(n,w)}function bCn(e,t,n,r){var s,o,f,g;s=gdt(e,t,n),o=gdt(e,n,t),f=l(or(e.c,t),118),g=l(or(e.c,n),118),s1)for(t=vw((n=new Nm,++e.b,n),e.d),g=Fr(o,0);g.b!=g.d.c;)f=l(Pr(g),125),g0(i0(r0(s0(n0(new _f,1),0),t),f))}function wCn(e,t,n){var r,s,o,f,g;for(n.Ug("Breaking Point Removing",1),e.a=l(Q(t,(Nt(),yp)),223),o=new K(t.b);o.a>16!=11&&t){if(jT(e,t))throw ue(new Wn(EL+Cke(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Oxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,10,r)),r=T4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,11,t,t))}function yCn(e){var t,n,r,s;for(r=new Xm(new Cr(e.b).a);r.b;)n=zw(r),s=l(n.ld(),12),t=l(n.md(),10),rt(t,(ft(),zi),s),rt(s,Bl,t),rt(s,LB,(Hn(),!0)),ga(s,l(Q(t,Xc),64)),Q(t,Xc),rt(s.i,(Nt(),Ds),(Pa(),oC)),l(Q(Ja(s.i),_u),21).Fc((Ho(),qE))}function xCn(e,t,n){var r,s,o,f,g,w;if(o=0,f=0,e.c)for(w=new K(e.d.i.j);w.ao.a?-1:s.aw){for(C=e.d,e.d=We(BPe,VSe,66,2*w+4,0,1),o=0;o=9223372036854776e3?(aT(),f_e):(s=!1,e<0&&(s=!0,e=-e),r=0,e>=ov&&(r=da(e/ov),e-=r*ov),n=0,e>=Mx&&(n=da(e/Mx),e-=n*Mx),t=da(e),o=qu(t,n,r),s&&Nce(o),o)}function ICn(e){var t,n,r,s,o;if(o=new mt,Uu(e.b,new tg(o)),e.b.c.length=0,o.c.length!=0){for(t=(Sn(0,o.c.length),l(o.c[0],82)),n=1,r=o.c.length;n=-t&&r==t?new fa(bt(n-1),bt(r)):new fa(bt(n),bt(r-1))}function Obt(){return po(),he(le(UOn,1),it,81,0,[ZAe,XAe,O6,S1e,vLe,RK,WK,d4,bLe,oLe,gLe,f4,mLe,iLe,wLe,UAe,qK,_1e,BK,VK,xLe,UK,VAe,pLe,kLe,GK,yLe,FK,tLe,fLe,hLe,YK,WAe,PK,$K,KAe,DE,uLe,sLe,dLe,qL,QAe,YAe,lLe,aLe,zK,KK,GAe,HK,cLe,jK,nLe,eLe,kB,NK,rLe,JAe])}function PCn(e,t,n){e.d=0,e.b=0,t.k==(Jn(),Su)&&n.k==Su&&l(Q(t,(ft(),zi)),10)==l(Q(n,zi),10)&&(ece(t).j==(_t(),Xn)?ybt(e,t,n):ybt(e,n,t)),t.k==Su&&n.k==Aa?ece(t).j==(_t(),Xn)?e.d=1:e.b=1:n.k==Su&&t.k==Aa&&(ece(n).j==(_t(),Xn)?e.b=1:e.d=1),w7n(e,t,n)}function BCn(e){var t,n,r,s,o,f,g,w,T,C,L;return L=r9e(e),t=e.a,w=t!=null,w&&Hk(L,"category",e.a),s=oO(new pr(e.d)),f=!s,f&&(T=new Yp,Z0(L,"knownOptions",T),n=new FQe(T),Za(new pr(e.d),n)),o=oO(e.g),g=!o,g&&(C=new Yp,Z0(L,"supportedFeatures",C),r=new RQe(C),Za(e.g,r)),L}function FCn(e){var t,n,r,s,o,f,g,w,T;for(r=!1,t=336,n=0,o=new kit(e.length),g=e,w=0,T=g.length;w>16!=7&&t){if(jT(e,t))throw ue(new Wn(EL+$pt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Lxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,1,pF,r)),r=b5e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,7,t,t))}function Nbt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(jT(e,t))throw ue(new Wn(EL+R1t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Dxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,0,mF,r)),r=m5e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function hle(e,t){WT();var n,r,s,o,f,g,w,T,C;return t.d>e.d&&(g=e,e=t,t=g),t.d<63?CSn(e,t):(f=(e.d&-2)<<4,T=B6e(e,f),C=B6e(t,f),r=Dle(e,ax(T,f)),s=Dle(t,ax(C,f)),w=hle(T,C),n=hle(r,s),o=hle(Dle(T,r),Dle(s,C)),o=Rle(Rle(o,w),n),o=ax(o,f),w=ax(w,f<<1),Rle(Rle(w,o),n))}function E2(){E2=U,Ade=new I5(Ryt,0),MDe=new I5("LONGEST_PATH",1),DDe=new I5("LONGEST_PATH_SOURCE",2),_de=new I5("COFFMAN_GRAHAM",3),LDe=new I5(efe,4),IDe=new I5("STRETCH_WIDTH",5),IW=new I5("MIN_WIDTH",6),XE=new I5("BF_MODEL_ORDER",7),QE=new I5("DF_MODEL_ORDER",8)}function jCn(e,t,n){var r,s,o,f,g;for(f=CA(e,n),g=We(kg,S2,10,t.length,0,1),r=0,o=f.Kc();o.Ob();)s=l(o.Pb(),12),Ft(Pt(Q(s,(ft(),LB))))&&(g[r++]=l(Q(s,Bl),10));if(r=0;o+=n?1:-1)f=f|t.c.lg(w,o,n,r&&!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,(ft(),z6))))),f=f|t.q.ug(w,o,n),f=f|xmt(e,w[o],n,r);return sa(e.c,t),f}function RV(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=eut(e.j),L=0,F=C.length;L1&&(e.a=!0),vgn(l(n.b,68),Pi(Xa(l(t.b,68).c),md(ya(Xa(l(n.b,68).a),l(t.b,68).a),s))),oct(e,t),Pbt(e,n)}function Bbt(e){var t,n,r,s,o,f,g;for(o=new K(e.a.a);o.a0&&o>0?f.p=t++:r>0?f.p=n++:o>0?f.p=s++:f.p=n++}Cn(),Gs(e.j,new X9)}function UCn(e){var t,n;n=null,t=l(Rt(e.g,0),18);do{if(n=t.d.i,rs(n,(ft(),$f)))return l(Q(n,$f),12).i;if(n.k!=(Jn(),Bs)&&Rr(new lr(fr(qs(n).a.Kc(),new j))))t=l(yr(new lr(fr(qs(n).a.Kc(),new j))),18);else if(n.k!=Bs)return null}while(n&&n.k!=(Jn(),Bs));return n}function VCn(e,t){var n,r,s,o,f,g,w,T,C;for(g=t.j,f=t.g,w=l(Rt(g,g.c.length-1),113),C=(Sn(0,g.c.length),l(g.c[0],113)),T=Iue(e,f,w,C),o=1;oT&&(w=n,C=s,T=r);t.a=C,t.c=w}function GCn(e,t,n){var r,s,o,f,g,w,T;for(T=new n2(new xXe(e)),f=he(le(dxt,1),cyt,12,0,[t,n]),g=0,w=f.length;gw-e.b&&gw-e.a&&g0?o.a?(g=o.b.Mf().a,n>g&&(s=(n-g)/2,o.d.b=s,o.d.c=s)):o.d.c=e.s+n:Y_(e.u)&&(r=i9e(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function uSn(e,t){var n,r,s,o,f;f=new mt,n=t;do o=l(or(e.b,n),131),o.B=n.c,o.D=n.d,qn(f.c,o),n=l(or(e.k,n),18);while(n);return r=(Sn(0,f.c.length),l(f.c[0],131)),r.j=!0,r.A=l(r.d.a.ec().Kc().Pb(),18).c.i,s=l(Rt(f,f.c.length-1),131),s.q=!0,s.C=l(s.d.a.ec().Kc().Pb(),18).d.i,f}function lSn(e){var t,n;if(t=l(e.a,17).a,n=l(e.b,17).a,t>=0){if(t==n)return new fa(bt(-t-1),bt(-t-1));if(t==-n)return new fa(bt(-t),bt(n+1))}return b.Math.abs(t)>b.Math.abs(n)?t<0?new fa(bt(-t),bt(n)):new fa(bt(-t),bt(n+1)):new fa(bt(t+1),bt(n))}function hSn(e){var t,n;n=l(Q(e,(Nt(),Qu)),171),t=l(Q(e,(ft(),wv)),311),n==(lf(),Yb)?(rt(e,Qu,DB),rt(e,wv,(ip(),j6))):n==b4?(rt(e,Qu,DB),rt(e,wv,(ip(),Gx))):t==(ip(),j6)?(rt(e,Qu,Yb),rt(e,wv,_B)):t==Gx&&(rt(e,Qu,b4),rt(e,wv,_B))}function jV(){jV=U,$B=new Lte,SEt=hi(new Js,(so(),pu),(po(),BK)),LEt=wl(hi(new Js,pu,UK),wc,HK),MEt=Ed(Ed(w_(wl(hi(new Js,w0,WK),wc,KK),Cu),GK),YK),_Et=wl(hi(hi(hi(new Js,xg,RK),Cu,$K),Cu,DE),wc,jK),AEt=wl(hi(hi(new Js,Cu,DE),Cu,PK),wc,NK)}function KA(){KA=U,OEt=hi(wl(new Js,(so(),wc),(po(),nLe)),pu,BK),FEt=Ed(Ed(w_(wl(hi(new Js,w0,WK),wc,KK),Cu),GK),YK),NEt=wl(hi(hi(hi(new Js,xg,RK),Cu,$K),Cu,DE),wc,jK),BEt=hi(hi(new Js,pu,UK),wc,HK),PEt=wl(hi(hi(new Js,Cu,DE),Cu,PK),wc,NK)}function fSn(e,t,n,r,s){var o,f;(!Ao(t)&&t.c.i.c==t.d.i.c||!jft(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])),n))&&!Ao(t)&&(t.c==s?Fk(t.a,0,new xo(n)):ci(t.a,new xo(n)),r&&!K0(e.a,n)&&(f=l(Q(t,(Nt(),lc)),75),f||(f=new pl,rt(t,lc,f)),o=new xo(n),_s(f,o,f.c.b,f.c),sa(e.a,o)))}function jbt(e,t){var n,r,s,o;for(o=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),n=o&e.b.length-1,s=null,r=e.b[n];r;s=r,r=r.a)if(r.d==o&&yd(r.i,t))return s?s.a=r.a:e.b[n]=r.a,gZe(l(Lf(r.c),604),l(Lf(r.f),604)),nO(l(Lf(r.b),227),l(Lf(r.e),227)),--e.f,++e.e,!0;return!1}function dSn(e){var t,n;for(n=new lr(fr(Ea(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),t.c.i.k!=(Jn(),uu))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function gSn(e,t,n){var r,s,o,f,g,w,T;if(s=H1t(e.Db&254),s==0)e.Eb=n;else{if(s==1)g=We(ka,jn,1,2,5,1),o=Due(e,t),o==0?(g[0]=n,g[1]=e.Eb):(g[0]=e.Eb,g[1]=n);else for(g=We(ka,jn,1,s+1,5,1),f=Km(e.Eb),r=2,w=0,T=0;r<=128;r<<=1)r==t?g[T++]=n:e.Db&r&&(g[T++]=f[w++]);e.Eb=g}e.Db|=t}function $bt(e,t,n){var r,s,o,f;for(this.b=new mt,s=0,r=0,f=new K(e);f.a0&&(o=l(Rt(this.b,0),176),s+=o.o,r+=o.p),s*=2,r*=2,t>1?s=da(b.Math.ceil(s*t)):r=da(b.Math.ceil(r/t)),this.a=new X8e(s,r)}function zbt(e,t,n,r,s,o){var f,g,w,T,C,L,F,z,V,J,te,fe;for(C=r,t.j&&t.o?(z=l(or(e.f,t.A),60),J=z.d.c+z.d.b,--C):J=t.a.c+t.a.b,L=s,n.q&&n.o?(z=l(or(e.f,n.C),60),T=z.d.c,++L):T=n.a.c,te=T-J,w=b.Math.max(2,L-C),g=te/w,V=J+g,F=C;F=0;f+=s?1:-1){for(g=t[f],w=r==(_t(),sr)?s?Fc(g,r):uf(Fc(g,r)):s?uf(Fc(g,r)):Fc(g,r),o&&(e.c[g.p]=w.gc()),L=w.Kc();L.Ob();)C=l(L.Pb(),12),e.d[C.p]=T++;aa(n,w)}}function Hbt(e,t,n){var r,s,o,f,g,w,T,C;for(o=ze(Ge(e.b.Kc().Pb())),T=ze(Ge(hyn(t.b))),r=md(Xa(e.a),T-n),s=md(Xa(t.a),n-o),C=Pi(r,s),md(C,1/(T-o)),this.a=C,this.b=new mt,g=!0,f=e.b.Kc(),f.Pb();f.Ob();)w=ze(Ge(f.Pb())),g&&w-n>Ofe&&(this.b.Fc(n),g=!1),this.b.Fc(w);g&&this.b.Fc(n)}function pSn(e){var t,n,r,s;if(O_n(e,e.n),e.d.c.length>0){for(l_(e.c);K9e(e,l(re(new K(e.e.a)),125))>5,t&=31,r>=e.d)return e.e<0?(Cd(),Y6t):(Cd(),FL);if(o=e.d-r,s=We(Ur,fi,28,o+1,15,1),akn(s,o,e.a,r,t),e.e<0){for(n=0;n0&&e.a[n]<<32-t){for(n=0;n=0?!1:(n=b6((kl(),no),s,t),n?(r=n.Ik(),(r>1||r==-1)&&Lw(ac(no,n))!=3):!0)):!1}function wSn(e,t,n,r){var s,o,f,g,w;return g=vc(l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84)),w=vc(l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84)),ds(g)==ds(w)||Iy(w,g)?null:(f=nN(t),f==n?r:(o=l(or(e.a,f),10),o&&(s=o.e,s)?s:null))}function ySn(e,t,n){var r,s,o,f,g;for(n.Ug("Longest path to source layering",1),e.a=t,g=e.a.a,e.b=We(Ur,fi,28,g.c.length,15,1),r=0,f=new K(g);f.a0&&(n[0]+=e.d,f-=n[0]),n[2]>0&&(n[2]+=e.d,f-=n[2]),o=b.Math.max(0,f),n[1]=b.Math.max(n[1],f),R6e(e,ju,s.c+r.b+n[0]-(n[1]-f)/2,n),t==ju&&(e.c.b=o,e.c.c=s.c+r.b+(o-f)/2)}function Zbt(){this.c=We(Oa,tc,28,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,15,1),this.b=We(Oa,tc,28,he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]).length,15,1),this.a=We(Oa,tc,28,he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]).length,15,1),z3e(this.c,gs),z3e(this.b,oa),z3e(this.a,oa)}function xu(e,t,n){var r,s,o,f;if(t<=n?(s=t,o=n):(s=n,o=t),r=0,e.b==null)e.b=We(Ur,fi,28,2,15,1),e.b[0]=s,e.b[1]=o,e.c=!0;else{if(r=e.b.length,e.b[r-1]+1==s){e.b[r-1]=o;return}f=We(Ur,fi,28,r+2,15,1),gu(e.b,0,f,0,r),e.b=f,e.b[r-1]>=s&&(e.c=!1,e.a=!1),e.b[r++]=s,e.b[r]=o,e.c||l6(e)}}function SSn(e,t,n){var r,s,o,f,g,w,T;for(T=t.d,e.a=new Pu(T.c.length),e.c=new Nr,g=new K(T);g.a=0?e.Lh(T,!1,!0):Xw(e,n,!1),61));e:for(o=L.Kc();o.Ob();){for(s=l(o.Pb(),58),C=0;C1;)Ky(s,s.i-1);return r}function tmt(e,t){var n,r,s,o,f,g,w;for(n=new H5,o=new K(e.b);o.ae.d[f.p]&&(n+=M6e(e.b,o),Tb(e.a,bt(o)));for(;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function ISn(e){var t,n,r,s,o,f,g,w,T;for(e.a=new k4e,T=0,s=0,r=new K(e.i.b);r.ag.d&&(C=g.d+g.a+T));n.c.d=C,t.a.zc(n,t),w=b.Math.max(w,n.c.d+n.c.a)}return w}function Ho(){Ho=U,oW=new fy("COMMENTS",0),mf=new fy("EXTERNAL_PORTS",1),GL=new fy("HYPEREDGES",2),cW=new fy("HYPERNODES",3),qE=new fy("NON_FREE_PORTS",4),R6=new fy("NORTH_SOUTH_PORTS",5),KL=new fy(Syt,6),$E=new fy("CENTER_LABELS",7),zE=new fy("END_LABELS",8),uW=new fy("PARTITIONS",9)}function NSn(e,t,n,r,s){return r<0?(r=u6(e,s,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe]),t),r<0&&(r=u6(e,s,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function PSn(e,t,n,r,s){return r<0?(r=u6(e,s,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe]),t),r<0&&(r=u6(e,s,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function BSn(e,t,n,r,s,o){var f,g,w,T;if(g=32,r<0){if(t[0]>=e.length||(g=io(e,t[0]),g!=43&&g!=45)||(++t[0],r=LV(e,t),r<0))return!1;g==45&&(r=-r)}return g==32&&t[0]-n==2&&s.b==2&&(w=new iq,T=w.q.getFullYear()-Rb+Rb-80,f=T%100,o.a=r==f,r+=(T/100|0)*100+(r=0?Db(e):Z_(Db(f2(e)))),RL[t]=Pq(u0(e,t),0)?Db(u0(e,t)):Z_(Db(f2(u0(e,t)))),e=go(e,5);for(;t=T&&(w=r);w&&(C=b.Math.max(C,w.a.o.a)),C>F&&(L=T,F=C)}return L}function qSn(e){var t,n,r,s,o,f,g;for(o=new n2(l(Xr(new Ug),50)),g=oa,n=new K(e.d);n.aJyt?Gs(w,e.b):r<=Jyt&&r>Zyt?Gs(w,e.d):r<=Zyt&&r>e4t?Gs(w,e.c):r<=e4t&&Gs(w,e.a),o=amt(e,w,o);return s}function omt(e,t,n,r){var s,o,f,g,w,T;for(s=(r.c+r.a)/2,Ch(t.j),ci(t.j,s),Ch(n.e),ci(n.e,s),T=new _Ze,g=new K(e.f);g.a1,g&&(r=new lt(s,n.b),ci(t.a,r)),dA(t.a,he(le(Ca,1),dt,8,0,[F,L]))}function bke(e,t,n){var r,s;for(t=48;n--)KM[n]=n-48<<24>>24;for(r=70;r>=65;r--)KM[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)KM[s]=s-97+10<<24>>24;for(o=0;o<10;o++)BY[o]=48+o&ta;for(e=10;e<=15;e++)BY[e]=65+e-10&ta}function GSn(e,t){t.Ug("Process graph bounds",1),rt(e,(Zi(),Xde),yO(Tce(Ey(new vn(null,new kn(e.b,16)),new tne)))),rt(e,Qde,yO(Tce(Ey(new vn(null,new kn(e.b,16)),new nne)))),rt(e,xIe,yO(kce(Ey(new vn(null,new kn(e.b,16)),new rne)))),rt(e,kIe,yO(kce(Ey(new vn(null,new kn(e.b,16)),new ine)))),t.Vg()}function KSn(e){var t,n,r,s,o;s=l(Q(e,(Nt(),Ev)),21),o=l(Q(e,AW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new xo(n),s.Hc((gh(),D4))&&(r=l(Q(e,UE),8),o.Hc((Xl(),cC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),Ft(Pt(Q(e,yde)))||TLn(e,n,t)}function WSn(e,t){var n,r,s,o;for(o=Fc(t,(_t(),Mr)).Kc();o.Ob();)r=l(o.Pb(),12),n=l(Q(r,(ft(),Bl)),10),n&&g0(i0(r0(s0(n0(new _f,0),.1),e.i[t.p].d),e.i[n.p].a));for(s=Fc(t,Xn).Kc();s.Ob();)r=l(s.Pb(),12),n=l(Q(r,(ft(),Bl)),10),n&&g0(i0(r0(s0(n0(new _f,0),.1),e.i[n.p].d),e.i[t.p].a))}function dle(e){var t,n,r,s,o,f;if(!e.c){if(f=new Zc,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(fu(e));r.e!=r.i.gc();)n=l(dr(r),89),s=GV(n),De(s,90)&&Ls(f,dle(l(s,29))),zr(f,n);t.a.Bc(e)!=null,t.a.gc()==0}H5n(f),Py(f),e.c=new B5((l(Oe(tt((wb(),Un).o),15),19),f.i),f.g),Gl(e).b&=-33}return e.c}function vke(e){var t;if(e.c!=10)throw ue(new ri(si((Jr(),QG))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw ue(new ri(si((Jr(),pf))))}return t}function hmt(e){var t,n,r,s,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==NP&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+hmt(TT(e));for(n=e,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Hoe(sG),n=Jke(n,s,!0),t=""+OZe(Hb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;r=t+r}return r}function YSn(e){var t,n,r,s,o,f,g;for(t=!1,n=0,s=new K(e.d.b);s.a=e.a||!e9e(t,n))return-1;if(tT(l(r.Kb(t),20)))return 1;for(s=0,f=l(r.Kb(t),20).Kc();f.Ob();)if(o=l(f.Pb(),18),w=o.c.i==t?o.d.i:o.c.i,g=wke(e,w,n,r),g==-1||(s=b.Math.max(s,g),s>e.c-1))return-1;return s+1}function fmt(e,t){var n,r,s,o,f,g;if(qe(t)===qe(e))return!0;if(!De(t,15)||(r=l(t,15),g=e.gc(),r.gc()!=g))return!1;if(f=r.Kc(),e.Yi()){for(n=0;n0){if(e._j(),t!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw ue(new gd("Invalid hexadecimal"))}}function qV(){qV=U,rAe=new D5("SPIRAL",0),Z_e=new D5("LINE_BY_LINE",1),eAe=new D5("MANHATTAN",2),J_e=new D5("JITTER",3),t1e=new D5("QUADRANTS_LINE_BY_LINE",4),nAe=new D5("QUADRANTS_MANHATTAN",5),tAe=new D5("QUADRANTS_JITTER",6),Q_e=new D5("COMBINE_LINE_BY_LINE_MANHATTAN",7),X_e=new D5("COMBINE_JITTER_MANHATTAN",8)}function gmt(e,t,n,r){var s,o,f,g,w,T;for(w=Rue(e,n),T=Rue(t,n),s=!1;w&&T&&(r||G7n(w,T,n));)f=Rue(w,n),g=Rue(T,n),mN(t),mN(e),o=w.c,jle(w,!1),jle(T,!1),n?($y(t,T.p,o),t.p=T.p,$y(e,w.p+1,o),e.p=w.p):($y(e,w.p,o),e.p=w.p,$y(t,T.p+1,o),t.p=T.p),Ha(w,null),Ha(T,null),w=f,T=g,s=!0;return s}function pmt(e){switch(e.g){case 0:return new aie;case 1:return new QS;case 3:return new Het;case 4:return new tte;case 5:return new mit;case 6:return new KI;case 2:return new XS;case 7:return new dz;case 8:return new GI;default:throw ue(new Wn("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function t_n(e,t,n,r){var s,o,f,g,w;for(s=!1,o=!1,g=new K(r.j);g.a=t.length)throw ue(new rc("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new $O(r),vce(this.e,this.c,(_t(),Zn)),this.i=new $O(r),vce(this.i,this.c,sr),this.f=new Nst(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Jn(),Ks),this.a&&pkn(this,e,t.length)}function mmt(e,t){var n,r,s,o,f,g;o=!e.B.Hc((Xl(),dF)),f=e.B.Hc(ape),e.a=new rdt(f,o,e.c),e.n&&Q5e(e.a.n,e.n),lse(e.g,(e1(),ju),e.a),t||(r=new IA(1,o,e.c),r.n.a=e.k,J8(e.p,(_t(),Xn),r),s=new IA(1,o,e.c),s.n.d=e.k,J8(e.p,Mr,s),g=new IA(0,o,e.c),g.n.c=e.k,J8(e.p,Zn,g),n=new IA(0,o,e.c),n.n.b=e.k,J8(e.p,sr,n))}function r_n(e){var t,n,r;switch(t=l(Q(e.d,(Nt(),yp)),223),t.g){case 2:n=VIn(e);break;case 3:n=(r=new mt,Os(ji(gc(Pc(Pc(new vn(null,new kn(e.d.b,16)),new _ee),new Aee),new Lee),new yS),new QYe(r)),r);break;default:throw ue(new ic("Compaction not supported for "+t+" edges."))}dMn(e,n),Za(new pr(e.g),new YYe(e))}function i_n(e,t){var n,r,s,o,f,g,w;if(t.Ug("Process directions",1),n=l(Q(e,(Vc(),_3)),88),n!=(ea(),Q1))for(s=Fr(e.b,0);s.b!=s.d.c;){switch(r=l(Pr(s),40),g=l(Q(r,(Zi(),HB)),17).a,w=l(Q(r,UB),17).a,n.g){case 4:w*=-1;break;case 1:o=g,g=w,w=o;break;case 2:f=g,g=-w,w=f}rt(r,HB,bt(g)),rt(r,UB,bt(w))}t.Vg()}function s_n(e,t){var n;return n=new Ui,t&&mc(n,l(or(e.a,pF),96)),De(t,422)&&mc(n,l(or(e.a,bF),96)),De(t,366)?(mc(n,l(or(e.a,nc),96)),n):(De(t,84)&&mc(n,l(or(e.a,Sr),96)),De(t,207)?(mc(n,l(or(e.a,Li),96)),n):De(t,193)?(mc(n,l(or(e.a,$l),96)),n):(De(t,326)&&mc(n,l(or(e.a,js),96)),n))}function a_n(e){var t,n,r,s,o,f,g,w;for(w=new Qut,g=new K(e.a);g.a0&&t=0)return!1;if(t.p=n.b,wt(n.e,t),s==(Jn(),Aa)||s==Su){for(f=new K(t.j);f.ae.d[g.p]&&(n+=M6e(e.b,o),Tb(e.a,bt(o)))):++f;for(n+=e.b.d*f;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function _mt(e){var t,n,r,s,o,f;return o=0,t=Of(e),t.kk()&&(o|=4),e.Bb&Cl&&(o|=2),De(e,102)?(n=l(e,19),s=jo(n),n.Bb&nu&&(o|=32),s&&(wr(Cy(s)),o|=8,f=s.t,(f>1||f==-1)&&(o|=16),s.Bb&nu&&(o|=64)),n.Bb&Lo&&(o|=a4),o|=b0):De(t,469)?o|=512:(r=t.kk(),r&&r.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function v_n(e,t){var n;return e.f==wpe?(n=Lw(ac((kl(),no),t)),e.e?n==4&&t!=(Tx(),l9)&&t!=(Tx(),u9)&&t!=(Tx(),ype)&&t!=(Tx(),xpe):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(ix(ac((kl(),no),t)))||e.d.Hc(b6((kl(),no),e.b,t)))?!0:e.f&&ake((kl(),e.f),QO(ac(no,t)))?(n=Lw(ac(no,t)),e.e?n==4:n==2):!1}function w_n(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(F=-1,z=0,T=e,C=0,L=T.length;C0&&++z;++F}return z}function y_n(e,t,n,r){var s,o,f,g,w,T,C,L;return f=l(at(n,(bi(),r9)),8),w=f.a,C=f.b+e,s=b.Math.atan2(C,w),s<0&&(s+=fv),s+=t,s>fv&&(s-=fv),g=l(at(r,r9),8),T=g.a,L=g.b+e,o=b.Math.atan2(L,T),o<0&&(o+=fv),o+=t,o>fv&&(o-=fv),A1(),h0(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:so?1:bw(isNaN(s),isNaN(o))}function ble(e){var t,n,r,s,o,f,g;for(g=new Nr,r=new K(e.a.b);r.a=e.o)throw ue(new e3e);g=t>>5,f=t&31,o=u0(1,Yr(u0(f,1))),s?e.n[n][g]=X0(e.n[n][g],o):e.n[n][g]=xa(e.n[n][g],Q4e(o)),o=u0(o,1),r?e.n[n][g]=X0(e.n[n][g],o):e.n[n][g]=xa(e.n[n][g],Q4e(o))}catch(w){throw w=ms(w),De(w,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(w)}}function T_n(e,t,n,r){var s,o,f,g,w,T,C,L,F;for(F=new n2(new yXe(e)),g=he(le(kg,1),S2,10,0,[t,n]),w=0,T=g.length;w0&&(r=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!r||li(li((t.a+=' "',t),r),'"'))),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Amt(e){var t,n,r;return e.Db&64?Yue(e):(t=new Eh(_Se),n=e.k,n?li(li((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(nc,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!r||li(li((t.a+=' "',t),r),'"'))),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function S_n(e,t){var n,r,s,o,f;for(t==(xA(),jde)&&aP(l($i(e.a,(zy(),EB)),15)),s=l($i(e.a,(zy(),EB)),15).Kc();s.Ob();)switch(r=l(s.Pb(),105),n=l(Rt(r.j,0),113).d.j,o=new Ml(r.j),Gs(o,new Vj),t.g){case 2:Hue(e,o,n,($w(),Kb),1);break;case 1:case 0:f=fCn(o),Hue(e,new c2(o,0,f),n,($w(),Kb),0),Hue(e,new c2(o,f,o.c.length),n,Kb,1)}}function vle(e,t){var n,r,s,o,f,g,w;if(t==null||t.length==0)return null;if(s=l(wu(e.a,t),143),!s){for(r=(g=new pi(e.b).a.vc().Kc(),new fs(g));r.a.Ob();)if(n=(o=l(r.a.Pb(),44),l(o.md(),143)),f=n.c,w=t.length,wn(f.substr(f.length-w,w),t)&&(t.length==f.length||io(f,f.length-t.length-1)==46)){if(s)return null;s=n}s&&sc(e.a,t,s)}return s}function __n(e,t){var n,r,s,o;return n=new Yd,r=l(kc(gc(new vn(null,new kn(e.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21),s=r.gc(),r=l(kc(gc(new vn(null,new kn(t.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[o4,Cc]))),21),o=r.gc(),ss.p?(ga(o,Mr),o.d&&(g=o.o.b,t=o.a.b,o.a.b=g-t)):o.j==Mr&&s.p>e.p&&(ga(o,Xn),o.d&&(g=o.o.b,t=o.a.b,o.a.b=-(g-t)));break}return s}function mP(e,t,n,r,s){var o,f,g,w,T,C,L;if(!(De(t,207)||De(t,366)||De(t,193)))throw ue(new Wn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return f=e.a/2,w=t.i+r-f,C=t.j+s-f,T=w+t.g+e.a,L=C+t.f+e.a,o=new pl,ci(o,new lt(w,C)),ci(o,new lt(w,L)),ci(o,new lt(T,L)),ci(o,new lt(T,C)),g=new ale(o),mc(g,t),n&&Ti(e.b,t,g),g}function YT(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=new lt(t,n),C=new K(e.a);C.a1,g&&(r=new lt(s,n.b),ci(t.a,r)),dA(t.a,he(le(Ca,1),dt,8,0,[F,L]))}function Nf(){Nf=U,PW=new dy(Id,0),BB=new dy("NIKOLOV",1),FB=new dy("NIKOLOV_PIXEL",2),jDe=new dy("NIKOLOV_IMPROVED",3),$De=new dy("NIKOLOV_IMPROVED_PIXEL",4),RDe=new dy("DUMMYNODE_PERCENTAGE",5),zDe=new dy("NODECOUNT_PERCENTAGE",6),BW=new dy("NO_BOUNDARY",7),C3=new dy("MODEL_ORDER_LEFT_TO_RIGHT",8),E4=new dy("MODEL_ORDER_RIGHT_TO_LEFT",9)}function F_n(e){var t,n,r,s,o;for(r=e.length,t=new f_,o=0;o=40,f&&RAn(e),KLn(e),pSn(e),n=K1t(e),r=0;n&&r0&&ci(e.f,o)):(e.c[f]-=T+1,e.c[f]<=0&&e.a[f]>0&&ci(e.e,o))))}function zmt(e,t,n,r){var s,o,f,g,w,T,C;for(w=new lt(n,r),ya(w,l(Q(t,(Zi(),ZE)),8)),C=Fr(t.b,0);C.b!=C.d.c;)T=l(Pr(C),40),Pi(T.e,w),ci(e.b,T);for(g=l(kc(c6e(new vn(null,new kn(t.a,16))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15).Kc();g.Ob();){for(f=l(g.Pb(),65),o=Fr(f.a,0);o.b!=o.d.c;)s=l(Pr(o),8),s.a+=w.a,s.b+=w.b;ci(e.a,f)}}function Nke(e,t){var n,r,s,o;if(0<(De(e,16)?l(e,16).gc():ep(e.Kc()))){if(s=t,1=0&&wo*2?(C=new vU(L),T=vl(f)/hh(f),w=Hle(C,t,new L8,n,r,s,T),Pi(W0(C.e),w),L.c.length=0,o=0,qn(L.c,C),qn(L.c,f),o=vl(C)*hh(C)+vl(f)*hh(f)):(qn(L.c,f),o+=vl(f)*hh(f));return L}function Hmt(e,t){var n,r,s,o,f,g;if(g=l(Q(t,(Nt(),Ds)),101),g==(Pa(),_g)||g==Au)for(s=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,f=new K(e.a);f.an?t:n;T<=L;++T)T==n?g=r++:(o=s[T],C=V.am(o.Lk()),T==t&&(w=T==L&&!C?r-1:r),C&&++r);return F=l(LA(e,t,n),76),g!=w&&Tk(e,new dN(e.e,7,f,bt(g),z.md(),w)),F}}else return l(rle(e,t,n),76);return l(LA(e,t,n),76)}function rAn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Port order processing",1),w=l(Q(e,(Nt(),mDe)),430),r=new K(e.b);r.a=0&&(g=Q7n(e,f),!(g&&(T<22?w.l|=1<>>1,f.m=C>>>1|(L&1)<<21,f.l=F>>>1|(C&1)<<21,--T;return n&&Nce(w),o&&(r?(Hb=TT(e),s&&(Hb=A0t(Hb,(aT(),d_e)))):Hb=qu(e.l,e.m,e.h)),w}function aAn(e,t){var n,r,s,o,f,g,w,T,C,L;for(T=e.e[t.c.p][t.p]+1,w=t.c.a.c.length+1,g=new K(e.a);g.a0&&(Yn(0,e.length),e.charCodeAt(0)==45||(Yn(0,e.length),e.charCodeAt(0)==43))?1:0,r=f;rn)throw ue(new gd(n3+e+'"'));return g}function oAn(e){var t,n,r,s,o,f,g;for(f=new os,o=new K(e.a);o.a1)&&t==1&&l(e.a[e.b],10).k==(Jn(),uu)?Cx(l(e.a[e.b],10),(Ih(),Cg)):r&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.c-1&e.a.length-1],10).k==(Jn(),uu)?Cx(l(e.a[e.c-1&e.a.length-1],10),(Ih(),tm)):(e.c-e.b&e.a.length-1)==2?(Cx(l(yA(e),10),(Ih(),Cg)),Cx(l(yA(e),10),tm)):BEn(e,s),A6e(e)}function lAn(e,t,n){var r,s,o,f,g;for(o=0,s=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));s.e!=s.i.gc();)r=l(dr(s),27),f="",(!r.n&&(r.n=new nt(nc,r,1,7)),r.n).i==0||(f=l(Oe((!r.n&&(r.n=new nt(nc,r,1,7)),r.n),0),135).a),g=new Pce(o++,t,f),mc(g,r),rt(g,(Zi(),pM),r),g.e.b=r.j+r.f/2,g.f.a=b.Math.max(r.g,1),g.e.a=r.i+r.g/2,g.f.b=b.Math.max(r.f,1),ci(t.b,g),Ru(n.f,r,g)}function hAn(e){var t,n,r,s,o;r=l(Q(e,(ft(),zi)),27),o=l(at(r,(Nt(),Ev)),181).Hc((gh(),Ov)),e.e||(s=l(Q(e,_u),21),t=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),s.Hc((Ho(),mf))?(Vi(r,Ds,(Pa(),Au)),Zw(r,t.a,t.b,!1,!0)):Ft(Pt(at(r,yde)))||Zw(r,t.a,t.b,!0,!0)),o?Vi(r,Ev,hn(Ov)):Vi(r,Ev,(n=l(G0(FM),9),new Jh(n,l(o0(n,n.length),9),0)))}function Pke(e,t,n){var r,s,o,f;if(t[0]>=e.length)return n.o=0,!0;switch(io(e,t[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],f=LV(e,t),f==0&&t[0]==o)return!1;if(t[0]g&&(g=s,C.c.length=0),s==g&&wt(C,new fa(n.c.i,n)));Cn(),Gs(C,e.c),kw(e.b,w.p,C)}}function pAn(e,t){var n,r,s,o,f,g,w,T,C;for(f=new K(t.b);f.ag&&(g=s,C.c.length=0),s==g&&wt(C,new fa(n.d.i,n)));Cn(),Gs(C,e.c),kw(e.f,w.p,C)}}function bAn(e,t){var n,r,s,o,f,g,w,T;if(T=Pt(Q(t,(Vc(),aCt))),T==null||(tr(T),T)){for(zTn(e,t),s=new mt,w=Fr(t.b,0);w.b!=w.d.c;)f=l(Pr(w),40),n=k9e(e,f,null),n&&(mc(n,t),qn(s.c,n));if(e.a=null,e.b=null,s.c.length>1)for(r=new K(s);r.a=0&&g!=n&&(o=new _a(e,1,g,f,null),r?r.nj(o):r=o),n>=0&&(o=new _a(e,1,n,g==n?f:null,t),r?r.nj(o):r=o)),r}function Gmt(e){var t,n,r;if(e.b==null){if(r=new e2,e.i!=null&&(Jo(r,e.i),r.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(Npn(e.i)||(r.a+="//"),Jo(r,e.a)),e.d!=null&&(r.a+="/",Jo(r,e.d)),e.f&16&&(r.a+="/"),t=0,n=e.j.length;tF?!1:(L=(w=eL(r,F,!1),w.a),C+g+L<=t.b&&(gN(n,o-n.s),n.c=!0,gN(r,o-n.s),XN(r,n.s,n.t+n.d+g),r.k=!0,H7e(n.q,r),z=!0,s&&(TU(t,r),r.j=t,e.c.length>f&&(ZN((Sn(f,e.c.length),l(e.c[f],186)),r),(Sn(f,e.c.length),l(e.c[f],186)).a.c.length==0&&l2(e,f)))),z)}function TAn(e,t){var n,r,s,o,f,g;if(t.Ug("Partition midprocessing",1),s=new Iw,Os(ji(new vn(null,new kn(e.a,16)),new Cj),new RYe(s)),s.d!=0){for(g=l(kc(h6e((o=s.i,new vn(null,(o||(s.i=new U5(s,s.c))).Nc()))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),r=g.Kc(),n=l(r.Pb(),17);r.Ob();)f=l(r.Pb(),17),pCn(l($i(s,n),21),l($i(s,f),21)),n=f;t.Vg()}}function Ymt(e,t,n){var r,s,o,f,g,w,T,C;if(t.p==0){for(t.p=1,f=n,f||(s=new mt,o=(r=l(G0(Mo),9),new Jh(r,l(o0(r,r.length),9),0)),f=new fa(s,o)),l(f.a,15).Fc(t),t.k==(Jn(),Ks)&&l(f.b,21).Fc(l(Q(t,(ft(),Xc)),64)),w=new K(t.j);w.a0){if(s=l(e.Ab.g,2033),t==null){for(o=0;on.s&&gf)return _t(),sr;break;case 4:case 3:if(C<0)return _t(),Xn;if(C+n>o)return _t(),Mr}return w=(T+g/2)/f,r=(C+n/2)/o,w+r<=1&&w-r<=0?(_t(),Zn):w+r>=1&&w-r>=0?(_t(),sr):r<.5?(_t(),Xn):(_t(),Mr)}function AAn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(n=!1,C=ze(Ge(Q(t,(Nt(),E3)))),V=Fb*C,s=new K(t.b);s.aw+V&&(J=L.g+F.g,F.a=(F.g*F.a+L.g*L.a)/J,F.g=J,L.f=F,n=!0)),o=g,L=F;return n}function Zmt(e,t,n,r,s,o,f){var g,w,T,C,L,F;for(F=new z8,T=t.Kc();T.Ob();)for(g=l(T.Pb(),853),L=new K(g.Rf());L.a0?g.a?(T=g.b.Mf().b,s>T&&(e.v||g.c.d.c.length==1?(f=(s-T)/2,g.d.d=f,g.d.a=f):(n=l(Rt(g.c.d,0),187).Mf().b,r=(n-T)/2,g.d.d=b.Math.max(0,r),g.d.a=s-r-T))):g.d.a=e.t+s:Y_(e.u)&&(o=i9e(g.b),o.d<0&&(g.d.d=-o.d),o.d+o.a>g.b.Mf().b&&(g.d.a=o.d+o.a-g.b.Mf().b))}function p0(){p0=U,Hx=new qa((bi(),iF),bt(1)),LK=new qa(Dv,80),I8t=new qa(GNe,5),k8t=new qa(t7,fE),M8t=new qa(tpe,bt(1)),D8t=new qa(npe,(Hn(),!0)),yAe=new mw(50),A8t=new qa(B2,yAe),mAe=nF,xAe=AM,T8t=new qa(Vge,!1),wAe=rF,S8t=A4,_8t=em,C8t=Mv,E8t=s7,L8t=L4,vAe=(g9e(),p8t),d1e=w8t,AK=g8t,f1e=b8t,kAe=v8t,P8t=LM,B8t=dY,N8t=sF,O8t=fY,TAe=(gx(),I4),new qa(s9,TAe)}function DAn(e,t){var n;switch(kN(e)){case 6:return Da(t);case 7:return py(t);case 8:return gy(t);case 3:return Array.isArray(t)&&(n=kN(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===Kle;case 12:return t!=null&&(typeof t===_P||typeof t==Kle);case 0:return vue(t,e.__elementTypeId$);case 2:return Jae(t)&&t.Tm!==xe;case 1:return Jae(t)&&t.Tm!==xe||vue(t,e.__elementTypeId$);default:return!0}}function evt(e,t){var n,r,s,o;return r=b.Math.min(b.Math.abs(e.c-(t.c+t.b)),b.Math.abs(e.c+e.b-t.c)),o=b.Math.min(b.Math.abs(e.d-(t.d+t.a)),b.Math.abs(e.d+e.a-t.d)),n=b.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(s=b.Math.abs(e.d+e.a/2-(t.d+t.a/2)),s>e.a/2+t.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function IAn(e,t){var n,r,s,o,f,g,w;for(o=0,g=0,w=0,s=new K(e.f.e);s.a0&&e.d!=(hA(),b1e)&&(g+=f*(r.d.a+e.a[t.a][r.a]*(t.d.a-r.d.a)/n)),n>0&&e.d!=(hA(),g1e)&&(w+=f*(r.d.b+e.a[t.a][r.a]*(t.d.b-r.d.b)/n)));switch(e.d.g){case 1:return new lt(g/o,t.d.b);case 2:return new lt(t.d.a,w/o);default:return new lt(g/o,w/o)}}function tvt(e){var t,n,r,s,o,f;for(n=(!e.a&&(e.a=new Qs(qh,e,5)),e.a).i+2,f=new Pu(n),wt(f,new lt(e.j,e.k)),Os(new vn(null,(!e.a&&(e.a=new Qs(qh,e,5)),new kn(e.a,16))),new lQe(f)),wt(f,new lt(e.b,e.c)),t=1;t0&&(NN(w,!1,(ea(),hc)),NN(w,!0,yc)),Uu(t.g,new ptt(e,n)),Ti(e.g,t,n)}function ivt(){ivt=U;var e;for(x_e=he(le(Ur,1),fi,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),q0e=We(Ur,fi,28,37,15,1),G6t=he(le(Ur,1),fi,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),k_e=We(hm,yhe,28,37,14,1),e=2;e<=36;e++)q0e[e]=da(b.Math.pow(e,x_e[e])),k_e[e]=tP(DP,q0e[e])}function OAn(e){var t;if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Wn(I4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));return t=new pl,IN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))&&Ga(t,Gwt(e,IN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84)),!1)),IN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))&&Ga(t,Gwt(e,IN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84)),!0)),t}function svt(e,t){var n,r,s,o,f;for(t.d?s=e.a.c==(xd(),S3)?Ea(t.b):qs(t.b):s=e.a.c==(xd(),O2)?Ea(t.b):qs(t.b),o=!1,r=new lr(fr(s.a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),f=Ft(e.a.f[e.a.g[t.b.p].p]),!(!f&&!Ao(n)&&n.c.i.c==n.d.i.c)&&!(Ft(e.a.n[e.a.g[t.b.p].p])||Ft(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,K0(e.b,e.a.g[O7n(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function Fke(e,t,n){var r,s,o,f,g,w,T;if(r=n.gc(),r==0)return!1;if(e.Pj())if(w=e.Qj(),G8e(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,w):e.Ij(5,null,n,t,w),e.Mj()){for(g=r<100?null:new hb(r),o=t+r,s=t;s0){for(f=0;f>16==-15&&e.Cb.Yh()&&nce(new Qoe(e.Cb,9,13,n,e.c,x2(Kl(l(e.Cb,62)),e))):De(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,De(t,90)||(t=(En(),Kf)),De(n,90)||(n=(En(),Kf)),nce(new Qoe(e.Cb,9,10,n,t,x2(fu(l(e.Cb,29)),e)))))),e.c}function BAn(e,t,n){var r,s,o,f,g,w,T,C,L;for(n.Ug("Hyperedge merging",1),aEn(e,t),w=new Ua(t.b,0);w.b0,g=XU(t,o),Xye(n?g.b:g.g,t),t6(g).c.length==1&&_s(r,g,r.c.b,r.c),s=new fa(o,t),Tb(e.o,s),sl(e.e.a,o))}function fvt(e,t){var n,r,s,o,f,g,w;return r=b.Math.abs(EH(e.b).a-EH(t.b).a),g=b.Math.abs(EH(e.b).b-EH(t.b).b),s=0,w=0,n=1,f=1,r>e.b.b/2+t.b.b/2&&(s=b.Math.min(b.Math.abs(e.b.c-(t.b.c+t.b.b)),b.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-s/r),g>e.b.a/2+t.b.a/2&&(w=b.Math.min(b.Math.abs(e.b.d-(t.b.d+t.b.a)),b.Math.abs(e.b.d+e.b.a-t.b.d)),f=1-w/g),o=b.Math.min(n,f),(1-o)*b.Math.sqrt(r*r+g*g)}function jAn(e){var t,n,r,s;for(qle(e,e.e,e.f,(Ow(),Jb),!0,e.c,e.i),qle(e,e.e,e.f,Jb,!1,e.c,e.i),qle(e,e.e,e.f,Y6,!0,e.c,e.i),qle(e,e.e,e.f,Y6,!1,e.c,e.i),PAn(e,e.c,e.e,e.f,e.i),r=new Ua(e.i,0);r.b=65;n--)nd[n]=n-65<<24>>24;for(r=122;r>=97;r--)nd[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)nd[s]=s-48+52<<24>>24;for(nd[43]=62,nd[47]=63,o=0;o<=25;o++)H2[o]=65+o&ta;for(f=26,w=0;f<=51;++f,w++)H2[f]=97+w&ta;for(e=52,g=0;e<=61;++e,g++)H2[e]=48+g&ta;H2[62]=43,H2[63]=47}function dvt(e,t){var n,r,s,o,f,g;return s=R7e(e),g=R7e(t),s==g?e.e==t.e&&e.a<54&&t.a<54?e.ft.f?1:0:(r=e.e-t.e,n=(e.d>0?e.d:b.Math.floor((e.a-1)*y3t)+1)-(t.d>0?t.d:b.Math.floor((t.a-1)*y3t)+1),n>r+1?s:n0&&(f=Y5(f,Evt(r))),Tdt(o,f))):sT&&(F=0,z+=w+t,w=0),YT(f,F,z),n=b.Math.max(n,F+C.a),w=b.Math.max(w,C.b),F+=C.a+t;return new lt(n+t,z+w+t)}function zke(e,t){var n,r,s,o,f,g,w;if(!M1(e))throw ue(new ic(D4t));if(r=M1(e),o=r.g,s=r.f,o<=0&&s<=0)return _t(),jc;switch(g=e.i,w=e.j,t.g){case 2:case 1:if(g<0)return _t(),Zn;if(g+e.g>o)return _t(),sr;break;case 4:case 3:if(w<0)return _t(),Xn;if(w+e.f>s)return _t(),Mr}return f=(g+e.g/2)/o,n=(w+e.f/2)/s,f+n<=1&&f-n<=0?(_t(),Zn):f+n>=1&&f-n>=0?(_t(),sr):n<.5?(_t(),Xn):(_t(),Mr)}function qAn(e,t,n,r,s){var o,f;if(o=fo(xa(t[0],Uo),xa(r[0],Uo)),e[0]=Yr(o),o=Tw(o,32),n>=s){for(f=1;f0&&(s.b[f++]=0,s.b[f++]=o.b[0]-1),t=1;t0&&(H(w,w.d-s.d),s.c==(Q0(),Qb)&&N(w,w.a-s.d),w.d<=0&&w.i>0&&_s(t,w,t.c.b,t.c)));for(o=new K(e.f);o.a0&&(q(g,g.i-s.d),s.c==(Q0(),Qb)&&$(g,g.b-s.d),g.i<=0&&g.d>0&&_s(n,g,n.c.b,n.c)))}function VAn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z;for(Cn(),Gs(e,new rk),f=HO(e),z=new mt,F=new mt,g=null,w=0;f.b!=0;)o=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),163),!g||vl(g)*hh(g)/21&&(w>vl(g)*hh(g)/2||f.b==0)&&(L=new vU(F),C=vl(g)/hh(g),T=Hle(L,t,new L8,n,r,s,C),Pi(W0(L.e),T),g=L,qn(z.c,L),w=0,F.c.length=0));return aa(z,F),z}function gu(e,t,n,r,s){Wg();var o,f,g,w,T,C,L;if(D5e(e,"src"),D5e(n,"dest"),L=dh(e),w=dh(n),X4e((L.i&4)!=0,"srcType is not an array"),X4e((w.i&4)!=0,"destType is not an array"),C=L.c,f=w.c,X4e(C.i&1?C==f:(f.i&1)==0,"Array types don't match"),Dyn(e,t,n,r,s),!(C.i&1)&&L!=w)if(T=Km(e),o=Km(n),qe(e)===qe(n)&&tr;)Ss(o,g,T[--t]);else for(g=r+s;r0),r.a.Xb(r.c=--r.b),L>F+w&&fh(r);for(f=new K(z);f.a0),r.a.Xb(r.c=--r.b)}}function KAn(){Ii();var e,t,n,r,s,o;if(Tpe)return Tpe;for(e=new _h(4),Xy(e,Bb(L0e,!0)),rL(e,Bb("M",!0)),rL(e,Bb("C",!0)),o=new _h(4),r=0;r<11;r++)xu(o,r,r);return t=new _h(4),Xy(t,Bb("M",!0)),xu(t,4448,4607),xu(t,65438,65439),s=new F_(2),sv(s,e),sv(s,YM),n=new F_(2),n.Jm(gH(o,Bb("L",!0))),n.Jm(t),n=new _y(3,n),n=new M5e(s,n),Tpe=n,Tpe}function Yy(e,t){var n,r,s,o,f,g,w,T;for(n=new RegExp(t,"g"),w=We($t,dt,2,0,6,1),r=0,T=e,o=null;;)if(g=n.exec(T),g==null||T==""){w[r]=T;break}else f=g.index,w[r]=(Va(0,f,T.length),T.substr(0,f)),T=ef(T,f+g[0].length,T.length),n.lastIndex=0,o==T&&(w[r]=(Va(0,1,T.length),T.substr(0,1)),T=(Yn(1,T.length+1),T.substr(1))),o=T,++r;if(e.length>0){for(s=w.length;s>0&&w[s-1]=="";)--s;s0&&(L-=r[0]+e.c,r[0]+=e.c),r[2]>0&&(L-=r[2]+e.c),r[1]=b.Math.max(r[1],L),vH(e.a[1],n.c+t.b+r[0]-(r[1]-L)/2,r[1]);for(o=e.a,g=0,T=o.length;g0?(e.n.c.length-1)*e.i:0,r=new K(e.n);r.a1)for(r=Fr(s,0);r.b!=r.d.c;)for(n=l(Pr(r),235),o=0,w=new K(n.e);w.a0&&(t[0]+=e.c,L-=t[0]),t[2]>0&&(L-=t[2]+e.c),t[1]=b.Math.max(t[1],L),wH(e.a[1],r.d+n.d+t[0]-(t[1]-L)/2,t[1]);else for(V=r.d+n.d,z=r.a-n.d-n.a,f=e.a,w=0,C=f.length;w0||Uw(s.b.d,e.b.d+e.b.a)==0&&r.b<0||Uw(s.b.d+s.b.a,e.b.d)==0&&r.b>0){g=0;break}}else g=b.Math.min(g,f2t(e,s,r));g=b.Math.min(g,mvt(e,o,g,r))}return g}function xP(e,t){var n,r,s,o,f,g,w;if(e.b<2)throw ue(new Wn("The vector chain must contain at least a source and a target point."));for(s=(br(e.b!=0),l(e.a.a.c,8)),MO(t,s.a,s.b),w=new H8((!t.a&&(t.a=new Qs(qh,t,5)),t.a)),f=Fr(e,1);f.a=0&&o!=n))throw ue(new Wn(nB));for(s=0,w=0;wze(L1(f.g,f.d[0]).a)?(br(w.b>0),w.a.Xb(w.c=--w.b),wy(w,f),s=!0):g.e&&g.e.gc()>0&&(o=(!g.e&&(g.e=new mt),g.e).Mc(t),T=(!g.e&&(g.e=new mt),g.e).Mc(n),(o||T)&&((!g.e&&(g.e=new mt),g.e).Fc(f),++f.c));s||qn(r.c,f)}function eLn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;return L=e.a.i+e.a.g/2,F=e.a.i+e.a.g/2,V=t.i+t.g/2,te=t.j+t.f/2,g=new lt(V,te),T=l(at(t,(bi(),r9)),8),T.a=T.a+L,T.b=T.b+F,o=(g.b-T.b)/(g.a-T.a),r=g.b-o*g.a,J=n.i+n.g/2,fe=n.j+n.f/2,w=new lt(J,fe),C=l(at(n,r9),8),C.a=C.a+L,C.b=C.b+F,f=(w.b-C.b)/(w.a-C.a),s=w.b-f*w.a,z=(r-s)/(f-o),T.a>>0,"0"+t.toString(16)),r="\\x"+ef(n,n.length-2,n.length)):e>=Lo?(n=(t=e>>>0,"0"+t.toString(16)),r="\\v"+ef(n,n.length-6,n.length)):r=""+String.fromCharCode(e&ta)}return r}function xvt(e){var t,n,r;if(F5(l(Q(e,(Nt(),Ds)),101)))for(n=new K(e.j);n.a=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(f=l(Rt(t.n,t.n.c.length-1),209),f.e+f.d+n.g+s<=r&&(o=l(Rt(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return R8e(t,n),!0;if(t.s+n.g<=r&&(t.t+t.d+n.f+s<=e.b||e.a.c.length==1))return wt(t.b,n),g=l(Rt(t.n,t.n.c.length-1),209),wt(t.n,new qH(t.s,g.f+g.a+t.i,t.i)),vxe(l(Rt(t.n,t.n.c.length-1),209),n),pvt(t,n),!0}return!1}function Tvt(e,t,n){var r,s,o,f;return e.Pj()?(s=null,o=e.Qj(),r=e.Ij(1,f=sce(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&f!=null?Fi(f,n):qe(f)===qe(n))?(f!=null&&(s=e.Oj(f,s)),s=e.Nj(n,s),e.Tj()&&(s=e.Wj(f,n,s)),s?(s.nj(r),s.oj()):e.Jj(r)):(e.Tj()&&(s=e.Wj(f,n,s)),s?(s.nj(r),s.oj()):e.Jj(r)),f):(f=sce(e,t,n),e.Mj()&&!(e.Yi()&&f!=null?Fi(f,n):qe(f)===qe(n))&&(s=null,f!=null&&(s=e.Oj(f,null)),s=e.Nj(n,s),s&&s.oj()),f)}function oLn(e,t){var n,r,s,o,f;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(s=new W9e(e),f=(s.i==null&&(s.i=j7e(s,new Zj)),ze(s.i)*s.f),n=f/(s.i==null&&(s.i=j7e(s,new Zj)),ze(s.i)),s.b>n){t.Vg();return}switch(l(Q(e,(Nt(),Cde)),351).g){case 2:o=new t$;break;case 0:o=new ES;break;default:o=new n$}if(r=o.og(e,s),!o.pg())switch(l(Q(e,MW),352).g){case 2:r=d2t(s,r);break;case 1:r=ipt(s,r)}rMn(e,s,r),t.Vg()}function QA(e,t){var n,r,s,o,f,g,w,T;t%=24,e.q.getHours()!=t&&(r=new b.Date(e.q.getTime()),r.setDate(r.getDate()+1),g=e.q.getTimezoneOffset()-r.getTimezoneOffset(),g>0&&(w=g/60|0,T=g%60,s=e.q.getDate(),n=e.q.getHours(),n+w>=24&&++s,o=new b.Date(e.q.getFullYear(),e.q.getMonth(),s,t+w,e.q.getMinutes()+T,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),f=e.q.getTime(),e.q.setTime(f+36e5),e.q.getHours()!=t&&e.q.setTime(f)}function cLn(e,t){var n,r,s,o;if(xbn(e.d,e.e),e.c.a.$b(),ze(Ge(Q(t.j,(Nt(),vW))))!=0||ze(Ge(Q(t.j,vW)))!=0)for(n=k6,qe(Q(t.j,Tg))!==qe((Td(),I2))&&rt(t.j,(ft(),Wb),(Hn(),!0)),o=l(Q(t.j,rM),17).a,s=0;ss&&++T,wt(f,(Sn(g+T,t.c.length),l(t.c[g+T],17))),w+=(Sn(g+T,t.c.length),l(t.c[g+T],17)).a-r,++n;n=te&&e.e[w.p]>V*e.b||Me>=n*te)&&(qn(F.c,g),g=new mt,Ga(f,o),o.a.$b(),T-=C,z=b.Math.max(z,T*e.b+J),T+=Me,Ee=Me,Me=0,C=0,J=0);return new fa(z,F)}function _le(e){var t,n,r,s,o,f,g;if(!e.d){if(g=new fre,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(pc(e));r.e!=r.i.gc();)n=l(dr(r),29),Ls(g,_le(n));t.a.Bc(e)!=null,t.a.gc()==0}for(f=g.i,s=(!e.q&&(e.q=new nt(Vf,e,11,10)),new ar(e.q));s.e!=s.i.gc();++f)l(dr(s),411);Ls(g,(!e.q&&(e.q=new nt(Vf,e,11,10)),e.q)),Py(g),e.d=new B5((l(Oe(tt((wb(),Un).o),9),19),g.i),g.g),e.e=l(g.g,688),e.e==null&&(e.e=SAt),Gl(e).b&=-17}return e.d}function JT(e,t,n,r){var s,o,f,g,w,T;if(T=Wu(e.e.Dh(),t),w=0,s=l(e.g,124),Ro(),l(t,69).xk()){for(f=0;f1||V==-1)if(L=l(J,71),F=l(C,71),L.dc())F.$b();else for(f=!!jo(t),o=0,g=e.a?L.Kc():L.Ii();g.Ob();)T=l(g.Pb(),58),s=l(B1(e,T),58),s?(f?(w=F.dd(s),w==-1?F.Gi(o,s):o!=w&&F.Ui(o,s)):F.Gi(o,s),++o):e.b&&!f&&(F.Gi(o,T),++o);else J==null?C.Wb(null):(s=B1(e,J),s==null?e.b&&!jo(t)&&C.Wb(J):C.Wb(s))}function dLn(e,t){var n,r,s,o,f,g,w,T;for(n=new AZ,s=new lr(fr(Ea(t).a.Kc(),new j));Rr(s);)if(r=l(yr(s),18),!Ao(r)&&(g=r.c.i,e9e(g,OK))){if(T=wke(e,g,OK,IK),T==-1)continue;n.b=b.Math.max(n.b,T),!n.a&&(n.a=new mt),wt(n.a,g)}for(f=new lr(fr(qs(t).a.Kc(),new j));Rr(f);)if(o=l(yr(f),18),!Ao(o)&&(w=o.d.i,e9e(w,IK))){if(T=wke(e,w,IK,OK),T==-1)continue;n.d=b.Math.max(n.d,T),!n.c&&(n.c=new mt),wt(n.c,w)}return n}function gLn(e,t,n,r){var s,o,f,g,w,T,C;if(n.d.i!=t.i){for(s=new hp(e),x(s,(Jn(),Aa)),rt(s,(ft(),zi),n),rt(s,(Nt(),Ds),(Pa(),Au)),qn(r.c,s),f=new du,Nc(f,s),ga(f,(_t(),Zn)),g=new du,Nc(g,s),ga(g,sr),C=n.d,Na(n,f),o=new Dw,mc(o,n),rt(o,lc,null),ho(o,g),Na(o,C),T=new Ua(n.b,0);T.b1e6)throw ue(new Yz("power of ten too big"));if(e<=Ni)return ax(fP(zx[1],t),t);for(r=fP(zx[1],Ni),s=r,n=tu(e-Ni),t=da(e%Ni);su(n,Ni)>0;)s=Y5(s,r),n=Df(n,Ni);for(s=Y5(s,fP(zx[1],t)),s=ax(s,Ni),n=tu(e-Ni);su(n,Ni)>0;)s=ax(s,Ni),n=Df(n,Ni);return s=ax(s,t),s}function Cvt(e){var t,n,r,s,o,f,g,w,T,C;for(w=new K(e.a);w.aT&&r>T)C=g,T=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a;else{s=!1,n._g()&&n.bh("bk node placement breaks on "+g+" which should have been after "+C);break}if(!s)break}return n._g()&&n.bh(t+" is feasible: "+s),s}function Vke(e,t,n,r){var s,o,f,g,w,T,C,L,F;if(o=new hp(e),x(o,(Jn(),Su)),rt(o,(Nt(),Ds),(Pa(),Au)),s=0,t){for(f=new du,rt(f,(ft(),zi),t),rt(o,zi,t.i),ga(f,(_t(),Zn)),Nc(f,o),F=kd(t.e),T=F,C=0,L=T.length;C0){if(s<0&&C.a&&(s=w,o=T[0],r=0),s>=0){if(g=C.b,w==s&&(g-=r++,g==0))return 0;if(!Lwt(t,T,C,g,f)){w=s-1,T[0]=o;continue}}else if(s=-1,!Lwt(t,T,C,0,f))return 0}else{if(s=-1,io(C.c,0)==32){if(L=T[0],Mht(t,T),T[0]>L)continue}else if(n2n(t,C.c,T[0])){T[0]+=C.c.length;continue}return 0}return iIn(f,n)?T[0]:0}function yLn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=new xH(new Rz(n)),g=We(th,vg,28,e.f.e.c.length,16,1),A5e(g,g.length),n[t.a]=0,T=new K(e.f.e);T.a=0&&!s6(e,C,L);)--L;s[C]=L}for(z=0;z=0&&!s6(e,g,V);)--g;o[V]=g}for(w=0;wt[F]&&Fr[w]&&UV(e,w,F,!1,!0)}function Gke(e){var t,n,r,s,o,f,g,w;n=Ft(Pt(Q(e,(p0(),T8t)))),o=e.a.c.d,g=e.a.d.d,n?(f=md(ya(new lt(g.a,g.b),o),.5),w=md(Xa(e.e),.5),t=ya(Pi(new lt(o.a,o.b),f),w),t4e(e.d,t)):(s=ze(Ge(Q(e.a,I8t))),r=e.d,o.a>=g.a?o.b>=g.b?(r.a=g.a+(o.a-g.a)/2+s,r.b=g.b+(o.b-g.b)/2-s-e.e.b):(r.a=g.a+(o.a-g.a)/2+s,r.b=o.b+(g.b-o.b)/2+s):o.b>=g.b?(r.a=o.a+(g.a-o.a)/2+s,r.b=g.b+(o.b-g.b)/2+s):(r.a=o.a+(g.a-o.a)/2+s,r.b=o.b+(g.b-o.b)/2-s-e.e.b))}function ZA(e){var t,n,r,s,o,f,g,w;if(!e.f){if(w=new PI,g=new PI,t=HM,f=t.a.zc(e,t),f==null){for(o=new ar(pc(e));o.e!=o.i.gc();)s=l(dr(o),29),Ls(w,ZA(s));t.a.Bc(e)!=null,t.a.gc()==0}for(r=(!e.s&&(e.s=new nt(fl,e,21,17)),new ar(e.s));r.e!=r.i.gc();)n=l(dr(r),179),De(n,102)&&zr(g,l(n,19));Py(g),e.r=new mst(e,(l(Oe(tt((wb(),Un).o),6),19),g.i),g.g),Ls(w,e.r),Py(w),e.f=new B5((l(Oe(tt(Un.o),5),19),w.i),w.g),Gl(e).b&=-3}return e.f}function _vt(e){fw(e,new iv(uw(aw(cw(ow(new x1,lv),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new Wh))),pt(e,lv,zhe,It(gAe)),pt(e,lv,qhe,It(c1e)),pt(e,lv,Nx,It(c8t)),pt(e,lv,r3,It(dAe)),pt(e,lv,NTe,It(f8t)),pt(e,lv,PTe,It(h8t)),pt(e,lv,OTe,It(d8t)),pt(e,lv,BTe,It(l8t)),pt(e,lv,HTe,It(u8t)),pt(e,lv,UTe,It(o1e)),pt(e,lv,VTe,It(fAe)),pt(e,lv,GTe,It(CK))}function WV(){WV=U,NPe=he(le(xf,1),Ad,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),nAt=new RegExp(`[ +\r\f]+`);try{$M=he(le(nNn,1),jn,2114,0,[new tO((kye(),eV("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",RO((Wz(),Wz(),PL))))),new tO(eV("yyyy-MM-dd'T'HH:mm:ss'.'SSS",RO(PL))),new tO(eV("yyyy-MM-dd'T'HH:mm:ss",RO(PL))),new tO(eV("yyyy-MM-dd'T'HH:mm",RO(PL))),new tO(eV("yyyy-MM-dd",RO(PL)))])}catch(e){if(e=ms(e),!De(e,82))throw ue(e)}}function kLn(e,t){var n,r,s,o;if(s=Yl(e.d,1)!=0,r=Ske(e,t),r==0&&Ft(Pt(Q(t.j,(ft(),Wb)))))return 0;!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,z6)))||qe(Q(t.j,(Nt(),Tg)))===qe((Td(),I2))?t.c.mg(t.e,s):s=Ft(Pt(Q(t.j,Wb))),bP(e,t,s,!0),Ft(Pt(Q(t.j,z6)))&&rt(t.j,z6,(Hn(),!1)),Ft(Pt(Q(t.j,Wb)))&&(rt(t.j,Wb,(Hn(),!1)),rt(t.j,z6,!0)),n=Ske(e,t);do{if(F7e(e),n==0)return 0;s=!s,o=n,bP(e,t,s,!1),n=Ske(e,t)}while(o>n);return o}function Avt(e,t){var n,r,s,o;if(s=Yl(e.d,1)!=0,r=AV(e,t),r==0&&Ft(Pt(Q(t.j,(ft(),Wb)))))return 0;!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,z6)))||qe(Q(t.j,(Nt(),Tg)))===qe((Td(),I2))?t.c.mg(t.e,s):s=Ft(Pt(Q(t.j,Wb))),bP(e,t,s,!0),Ft(Pt(Q(t.j,z6)))&&rt(t.j,z6,(Hn(),!1)),Ft(Pt(Q(t.j,Wb)))&&(rt(t.j,Wb,(Hn(),!1)),rt(t.j,z6,!0)),n=AV(e,t);do{if(F7e(e),n==0)return 0;s=!s,o=n,bP(e,t,s,!1),n=AV(e,t)}while(o>n);return o}function Kke(e,t,n,r){var s,o,f,g,w,T,C,L,F;return w=ya(new lt(n.a,n.b),e),T=w.a*t.b-w.b*t.a,C=t.a*r.b-t.b*r.a,L=(w.a*r.b-w.b*r.a)/C,F=T/C,C==0?T==0?(s=Pi(new lt(n.a,n.b),md(new lt(r.a,r.b),.5)),o=Eb(e,s),f=Eb(Pi(new lt(e.a,e.b),t),s),g=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&L<=1&&F>=0&&F<=1?Pi(new lt(e.a,e.b),md(new lt(t.a,t.b),L)):null}function TLn(e,t,n){var r,s,o,f,g;if(r=l(Q(e,(Nt(),fde)),21),n.a>t.a&&(r.Hc((rv(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(CM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((rv(),_M))?e.c.b+=(n.b-t.b)/2:r.Hc(SM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),_u)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(g=new K(e.a);g.at.a&&(r.Hc((rv(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(CM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((rv(),_M))?e.c.b+=(n.b-t.b)/2:r.Hc(SM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),_u)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(f=new K(e.a);f.a0?e.i:0)>t&&w>0&&(o=0,f+=w+e.i,s=b.Math.max(s,F),r+=w+e.i,w=0,F=0,n&&(++L,wt(e.n,new qH(e.s,f,e.i))),g=0),F+=T.g+(g>0?e.i:0),w=b.Math.max(w,T.f),n&&vxe(l(Rt(e.n,L),209),T),o+=T.g+(g>0?e.i:0),++g;return s=b.Math.max(s,F),r+=w,n&&(e.r=s,e.d=r,kxe(e.j)),new Zh(e.s,e.t,s,r)}function Ale(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(e.b=!1,L=gs,w=oa,F=gs,T=oa,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),272),s=n.a,L=b.Math.min(L,s.c),w=b.Math.max(w,s.c+s.b),F=b.Math.min(F,s.d),T=b.Math.max(T,s.d+s.a),f=new K(n.c);f.ae.o.a&&(C=(w-e.o.a)/2,g.b=b.Math.max(g.b,C),g.c=b.Math.max(g.c,C))}}function _Ln(e){var t,n,r,s,o,f,g,w;for(o=new Tct,ihn(o,(fx(),HSt)),r=(s=yce(e,We($t,dt,2,0,6,1)),new xr(new Ll(new yse(e,s).b)));r.bg?1:-1:f8e(e.a,t.a,o),s==-1)L=-w,C=f==w?Voe(t.a,g,e.a,o):Koe(t.a,g,e.a,o);else if(L=f,f==w){if(s==0)return Cd(),FL;C=Voe(e.a,o,t.a,g)}else C=Koe(e.a,o,t.a,g);return T=new $m(L,C.length,C),sA(T),T}function ALn(e,t){var n,r,s,o;if(o=hvt(t),!t.c&&(t.c=new nt($l,t,9,9)),Os(new vn(null,(!t.c&&(t.c=new nt($l,t,9,9)),new kn(t.c,16))),new bYe(o)),s=l(Q(o,(ft(),_u)),21),yDn(t,s),s.Hc((Ho(),mf)))for(r=new ar((!t.c&&(t.c=new nt($l,t,9,9)),t.c));r.e!=r.i.gc();)n=l(dr(r),123),YDn(e,t,o,n);return l(at(t,(Nt(),Ev)),181).gc()!=0&&rmt(t,o),Ft(Pt(Q(o,gDe)))&&s.Fc(uW),rs(o,OB)&&lZe(new Y8e(ze(Ge(Q(o,OB)))),o),qe(at(t,v4))===qe((op(),F2))?wOn(e,t,o):rOn(e,t,o),o}function LLn(e){var t,n,r,s,o,f,g,w;for(s=new K(e.b);s.a0?ef(n.a,0,o-1):""):(Va(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function MLn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Sort By Input Model "+Q(e,(Nt(),Tg)),1),s=0,r=new K(e.b);r.a=e.b.length?(o[s++]=f.b[r++],o[s++]=f.b[r++]):r>=f.b.length?(o[s++]=e.b[n++],o[s++]=e.b[n++]):f.b[r]0?e.i:0)),++t;for(I8e(e.n,w),e.d=n,e.r=r,e.g=0,e.f=0,e.e=0,e.o=gs,e.p=gs,o=new K(e.b);o.a0&&(s=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!s||li(li((t.a+=' "',t),s),'"'))),n=(!e.b&&(e.b=new An(Sr,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new An(Sr,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",li(t,zye(new dse,new ar(e.b))),n&&(t.a+="]"),t.a+=Yhe,n&&(t.a+="["),li(t,zye(new dse,new ar(e.c))),n&&(t.a+="]"),t.a)}function ILn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Je=e.c,ot=t.c,n=bc(Je.a,e,0),r=bc(ot.a,t,0),Me=l(Vw(e,(qo(),Fl)).Kc().Pb(),12),cn=l(Vw(e,$u).Kc().Pb(),12),$e=l(Vw(t,Fl).Kc().Pb(),12),Fn=l(Vw(t,$u).Kc().Pb(),12),fe=kd(Me.e),At=kd(cn.g),Ee=kd($e.e),ln=kd(Fn.g),$y(e,r,ot),f=Ee,C=0,V=f.length;CC?new Hm((Q0(),S4),n,t,T-C):T>0&&C>0&&(new Hm((Q0(),S4),t,n,0),new Hm(S4,n,t,0))),f)}function PLn(e,t,n){var r,s,o;for(e.a=new mt,o=Fr(t.b,0);o.b!=o.d.c;){for(s=l(Pr(o),40);l(Q(s,(Vc(),$d)),17).a>e.a.c.length-1;)wt(e.a,new fa(k6,LCe));r=l(Q(s,$d),17).a,n==(ea(),hc)||n==yc?(s.e.aze(Ge(l(Rt(e.a,r),42).b))&&ct(l(Rt(e.a,r),42),s.e.a+s.f.a)):(s.e.bze(Ge(l(Rt(e.a,r),42).b))&&ct(l(Rt(e.a,r),42),s.e.b+s.f.b))}}function Dvt(e,t,n,r){var s,o,f,g,w,T,C;if(o=WU(r),g=Ft(Pt(Q(r,(Nt(),cDe)))),(g||Ft(Pt(Q(e,TW))))&&!F5(l(Q(e,Ds),101)))s=px(o),w=Bke(e,n,n==(qo(),$u)?s:UN(s));else switch(w=new du,Nc(w,e),t?(C=w.n,C.a=t.a-e.n.a,C.b=t.b-e.n.b,Fpt(C,0,0,e.o.a,e.o.b),ga(w,Jmt(w,o))):(s=px(o),ga(w,n==(qo(),$u)?s:UN(s))),f=l(Q(r,(ft(),_u)),21),T=w.j,o.g){case 2:case 1:(T==(_t(),Xn)||T==Mr)&&f.Fc((Ho(),R6));break;case 4:case 3:(T==(_t(),sr)||T==Zn)&&f.Fc((Ho(),R6))}return w}function Ivt(e,t){var n,r,s,o,f,g;for(f=new Xm(new Cr(e.f.b).a);f.b;){if(o=zw(f),s=l(o.ld(),602),t==1){if(s.Af()!=(ea(),vf)&&s.Af()!=Q1)continue}else if(s.Af()!=(ea(),hc)&&s.Af()!=yc)continue;switch(r=l(l(o.md(),42).b,86),g=l(l(o.md(),42).a,194),n=g.c,s.Af().g){case 2:r.g.c=e.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=e.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function BLn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(g=We(Ur,fi,28,t.b.c.length,15,1),T=We(E1e,it,273,t.b.c.length,0,1),w=We(kg,S2,10,t.b.c.length,0,1),L=e.a,F=0,z=L.length;F0&&w[r]&&(V=z5(e.b,w[r],s)),J=b.Math.max(J,s.c.c.b+V);for(o=new K(C.e);o.a1)throw ue(new Wn(oB));w||(o=cg(t,r.Kc().Pb()),f.Fc(o))}return J7e(e,w9e(e,t,n),f)}function XV(e,t,n){var r,s,o,f,g,w,T,C;if(dp(e.e,t))w=(Ro(),l(t,69).xk()?new uH(t,e):new AO(t,e)),MV(w.c,w.b),R_(w,l(n,16));else{for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f"}w!=null&&(t.a+=""+w)}else e.e?(g=e.e.zb,g!=null&&(t.a+=""+g)):(t.a+="?",e.b?(t.a+=" super ",Ole(e.b,t)):e.f&&(t.a+=" extends ",Ole(e.f,t)))}function qLn(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function HLn(e){var t,n,r,s;if(r=Vle((!e.c&&(e.c=iN(tu(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=R7e(e)<0?1:0,n=e.e,s=(r.length+1+b.Math.abs(da(e.e)),new A5),t==1&&(s.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(s.a+="0.";n>vv.length;n-=vv.length)_st(s,vv);hit(s,vv,da(n)),li(s,(Yn(t,r.length+1),r.substr(t)))}else n=t-n,li(s,ef(r,t,da(n))),s.a+=".",li(s,F5e(r,da(n)));else{for(li(s,(Yn(t,r.length+1),r.substr(t)));n<-vv.length;n+=vv.length)_st(s,vv);hit(s,vv,da(-n))}return s.a}function Nle(e){var t,n,r,s,o,f,g,w,T;return!(e.k!=(Jn(),Bs)||e.j.c.length<=1||(o=l(Q(e,(Nt(),Ds)),101),o==(Pa(),Au))||(s=(jy(),(e.q?e.q:(Cn(),Cn(),yg))._b(x3)?r=l(Q(e,x3),203):r=l(Q(Ja(e),tM),203),r),s==NW)||!(s==W6||s==K6)&&(f=ze(Ge(Ry(e,nM))),t=l(Q(e,PB),140),!t&&(t=new y4e(f,f,f,f)),T=Fc(e,(_t(),Zn)),w=t.d+t.a+(T.gc()-1)*f,w>e.o.b||(n=Fc(e,sr),g=t.d+t.a+(n.gc()-1)*f,g>e.o.b)))}function ULn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;t.Ug("Orthogonal edge routing",1),T=ze(Ge(Q(e,(Nt(),G6)))),n=ze(Ge(Q(e,U6))),r=ze(Ge(Q(e,Sv))),F=new roe(0,n),te=0,f=new Ua(e.b,0),g=null,C=null,w=null,L=null;do C=f.b0?(z=(V-1)*n,g&&(z+=r),C&&(z+=r),zt||Ft(Pt(at(w,(z1(),WB)))))&&(s=0,o+=C.b+n,qn(L.c,C),C=new p6e(o,n),r=new Bce(0,C.f,C,n),TU(C,r),s=0),r.b.c.length==0||!Ft(Pt(at(ds(w),(z1(),Cge))))&&(w.f>=r.o&&w.f<=r.f||r.a*.5<=w.f&&r.a*1.5>=w.f)?R8e(r,w):(f=new Bce(r.s+r.r+n,C.f,C,n),TU(C,f),R8e(f,w)),s=w.i+w.g;return qn(L.c,C),L}function tL(e){var t,n,r,s;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,s=0;s=e.b[s+1])s+=2;else if(n0)for(r=new Ml(l($i(e.a,o),21)),Cn(),Gs(r,new eO(t)),s=new Ua(o.b,0);s.b0&&r>=-6?r>=0?DO(o,n-da(e.e),String.fromCharCode(46)):(Cce(o,t-1,t-1,"0."),DO(o,t+1,If(vv,0,-da(r)-1))):(n-t>=1&&(DO(o,t,String.fromCharCode(46)),++n),DO(o,n,String.fromCharCode(69)),r>0&&DO(o,++n,String.fromCharCode(43)),DO(o,++n,""+X_(tu(r)))),e.g=o.a,e.g))}function eMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;r=ze(Ge(Q(t,(Nt(),hDe)))),Je=l(Q(t,rM),17).a,F=4,s=3,ot=20/Je,z=!1,w=0,f=Ni;do{for(o=w!=1,L=w!=0,At=0,te=e.a,Ee=0,$e=te.length;Ee<$e;++Ee)V=te[Ee],V.f=null,zDn(e,V,o,L,r),At+=b.Math.abs(V.a);do g=AAn(e,t);while(g);for(J=e.a,fe=0,Me=J.length;feJe)?(w=2,f=Ni):w==0?(w=1,f=At):(w=0,f=At)):(z=At>=f||f-At0?1:bw(isNaN(r),isNaN(0)))>=0^(h0(Nd),(b.Math.abs(g)<=Nd||g==0||isNaN(g)&&isNaN(0)?0:g<0?-1:g>0?1:bw(isNaN(g),isNaN(0)))>=0)?b.Math.max(g,r):(h0(Nd),(b.Math.abs(r)<=Nd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:bw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(g*g+r*r):-b.Math.sqrt(g*g+r*r))}function sv(e,t){var n,r,s,o,f,g;if(t){if(!e.a&&(e.a=new Gz),e.e==2){Vz(e.a,t);return}if(t.e==1){for(s=0;s=Lo?Jo(n,F8e(r)):Kk(n,r&ta),f=new koe(10,null,0),Rgn(e.a,f,g-1)):(n=(f.Mm().length+o,new f_),Jo(n,f.Mm())),t.e==0?(r=t.Km(),r>=Lo?Jo(n,F8e(r)):Kk(n,r&ta)):Jo(n,t.Mm()),l(f,530).b=n.a}}function rMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(!n.dc()){for(g=0,F=0,r=n.Kc(),V=l(r.Pb(),17).a;g1&&(w=T.Hg(w,e.a,g));return w.c.length==1?l(Rt(w,w.c.length-1),238):w.c.length==2?GLn((Sn(0,w.c.length),l(w.c[0],238)),(Sn(1,w.c.length),l(w.c[1],238)),f,o):null}function oMn(e,t,n){var r,s,o,f,g,w,T;for(n.Ug("Find roots",1),e.a.c.length=0,s=Fr(t.b,0);s.b!=s.d.c;)r=l(Pr(s),40),r.b.b==0&&(rt(r,(Zi(),Zb),(Hn(),!0)),wt(e.a,r));switch(e.a.c.length){case 0:o=new Pce(0,t,"DUMMY_ROOT"),rt(o,(Zi(),Zb),(Hn(),!0)),rt(o,Wde,!0),ci(t.b,o);break;case 1:break;default:for(f=new Pce(0,t,RG),w=new K(e.a);w.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>f.d&&o.df.c&&o.c0){if(t=new vye(e.i,e.g),n=e.i,o=n<100?null:new hb(n),e.Tj())for(r=0;r0){for(g=e.g,T=e.i,lA(e),o=T<100?null:new hb(T),r=0;r>13|(e.m&15)<<9,s=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,f=(e.h&1048320)>>8,g=t.l&8191,w=t.l>>13|(t.m&15)<<9,T=t.m>>4&8191,C=t.m>>17|(t.h&255)<<5,L=(t.h&1048320)>>8,ln=n*g,cn=r*g,Fn=s*g,$n=o*g,cr=f*g,w!=0&&(cn+=n*w,Fn+=r*w,$n+=s*w,cr+=o*w),T!=0&&(Fn+=n*T,$n+=r*T,cr+=s*T),C!=0&&($n+=n*C,cr+=r*C),L!=0&&(cr+=n*L),z=ln&Ql,V=(cn&511)<<13,F=z+V,te=ln>>22,fe=cn>>9,Ee=(Fn&262143)<<4,Me=($n&31)<<17,J=te+fe+Ee+Me,Je=Fn>>18,ot=$n>>5,At=(cr&4095)<<8,$e=Je+ot+At,J+=F>>22,F&=Ql,$e+=J>>22,J&=Ql,$e&=pp,qu(F,J,$e)}function Hvt(e){var t,n,r,s,o,f,g;if(g=l(Rt(e.j,0),12),g.g.c.length!=0&&g.e.c.length!=0)throw ue(new ic("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(g.g.c.length!=0){for(o=gs,n=new K(g.g);n.a4)if(e.fk(t)){if(e.al()){if(s=l(t,54),r=s.Eh(),w=r==e.e&&(e.ml()?s.yh(s.Fh(),e.il())==e.jl():-1-s.Fh()==e.Lj()),e.nl()&&!w&&!r&&s.Jh()){for(o=0;o0&&Upt(e,g,L);for(s=new K(L);s.ae.d[f.p]&&(n+=M6e(e.b,o)*l(w.b,17).a,Tb(e.a,bt(o)));for(;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function fMn(e,t){var n,r,s,o,f,g,w,T,C,L;if(C=l(Q(e,(ft(),Xc)),64),r=l(Rt(e.j,0),12),C==(_t(),Xn)?ga(r,Mr):C==Mr&&ga(r,Xn),l(Q(t,(Nt(),Ev)),181).Hc((gh(),Ov))){if(w=ze(Ge(Q(e,WE))),T=ze(Ge(Q(e,YE))),f=ze(Ge(Q(e,T4))),g=l(Q(t,x4),21),g.Hc((Pl(),kp)))for(n=T,L=e.o.a/2-r.n.a,o=new K(r.f);o.a0&&(T=e.n.a/o);break;case 2:case 4:s=e.i.o.b,s>0&&(T=e.n.b/s)}rt(e,(ft(),m3),T)}if(w=e.o,f=e.a,r)f.a=r.a,f.b=r.b,e.d=!0;else if(t!=Z1&&t!=rm&&g!=jc)switch(g.g){case 1:f.a=w.a/2;break;case 2:f.a=w.a,f.b=w.b/2;break;case 3:f.a=w.a/2,f.b=w.b;break;case 4:f.b=w.b/2}else f.a=w.a/2,f.b=w.b/2}function nL(e){var t,n,r,s,o,f,g,w,T,C;if(e.Pj())if(C=e.Ej(),w=e.Qj(),C>0)if(t=new q7e(e.pj()),n=C,o=n<100?null:new hb(n),BO(e,n,t.g),s=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new ar(t);r.e!=r.i.gc();)o=e.Oj(dr(r),o);o?(o.nj(s),o.oj()):e.Jj(s)}else o?(o.nj(s),o.oj()):e.Jj(s);else BO(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(Cn(),Co),null,-1,w));else if(e.Mj())if(C=e.Ej(),C>0){for(g=e.Fj(),T=C,BO(e,C,g),o=T<100?null:new hb(T),r=0;r1&&vl(f)*hh(f)/2>g[0]){for(o=0;og[o];)++o;V=new c2(J,0,o+1),L=new vU(V),C=vl(f)/hh(f),w=Hle(L,t,new L8,n,r,s,C),Pi(W0(L.e),w),W8(qT(F,L),cE),z=new c2(J,o+1,J.c.length),Sxe(F,z),J.c.length=0,T=0,Ust(g,g.length,0)}else te=F.b.c.length==0?null:Rt(F.b,0),te!=null&&mce(F,0),T>0&&(g[T]=g[T-1]),g[T]+=vl(f)*hh(f),++T,qn(J.c,f);return J}function vMn(e,t){var n,r,s,o;n=t.b,o=new Ml(n.j),s=0,r=n.j,r.c.length=0,Ew(l(Ym(e.b,(_t(),Xn),($w(),g3)),15),n),s=YN(o,s,new Zv,r),Ew(l(Ym(e.b,Xn,Kb),15),n),s=YN(o,s,new Mee,r),Ew(l(Ym(e.b,Xn,d3),15),n),Ew(l(Ym(e.b,sr,g3),15),n),Ew(l(Ym(e.b,sr,Kb),15),n),s=YN(o,s,new Kj,r),Ew(l(Ym(e.b,sr,d3),15),n),Ew(l(Ym(e.b,Mr,g3),15),n),s=YN(o,s,new Wj,r),Ew(l(Ym(e.b,Mr,Kb),15),n),s=YN(o,s,new Yj,r),Ew(l(Ym(e.b,Mr,d3),15),n),Ew(l(Ym(e.b,Zn,g3),15),n),s=YN(o,s,new Hj,r),Ew(l(Ym(e.b,Zn,Kb),15),n),Ew(l(Ym(e.b,Zn,d3),15),n)}function wMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;for(g=new K(t);g.a.5?fe-=f*2*(V-.5):V<.5&&(fe+=o*2*(.5-V)),s=g.d.b,fete.a-J-C&&(fe=te.a-J-C),g.n.a=t+fe}}function TMn(e){var t,n,r,s,o;if(r=l(Q(e,(Nt(),Qu)),171),r==(lf(),Yb)){for(n=new lr(fr(Ea(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),!ilt(t))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==b4){for(o=new lr(fr(qs(e).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),!ilt(s))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function EP(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(e.e&&e.c.c>19&&(t=TT(t),w=!w),f=oCn(t),o=!1,s=!1,r=!1,e.h==NP&&e.m==0&&e.l==0)if(s=!0,o=!0,f==-1)e=Mnt((aT(),f_e)),r=!0,w=!w;else return g=Y9e(e,f),w&&Nce(g),n&&(Hb=qu(0,0,0)),g;else e.h>>19&&(o=!0,e=TT(e),r=!0,w=!w);return f!=-1?Byn(e,f,w,o,n):Nxe(e,t)<0?(n&&(o?Hb=TT(e):Hb=qu(e.l,e.m,e.h)),qu(0,0,0)):sAn(r?e:qu(e.l,e.m,e.h),t,w,o,s,n)}function Rle(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(f=e.e,w=t.e,f==0)return t;if(w==0)return e;if(o=e.d,g=t.d,o+g==2)return n=xa(e.a[0],Uo),r=xa(t.a[0],Uo),f==w?(C=fo(n,r),V=Yr(C),z=Yr(vb(C,32)),z==0?new tp(f,V):new $m(f,2,he(le(Ur,1),fi,28,15,[V,z]))):(Cd(),Pq(f<0?Df(r,n):Df(n,r),0)?Db(f<0?Df(r,n):Df(n,r)):Z_(Db(f2(f<0?Df(r,n):Df(n,r)))));if(f==w)F=f,L=o>=g?Koe(e.a,o,t.a,g):Koe(t.a,g,e.a,o);else{if(s=o!=g?o>g?1:-1:f8e(e.a,t.a,o),s==0)return Cd(),FL;s==1?(F=f,L=Voe(e.a,o,t.a,g)):(F=w,L=Voe(t.a,g,e.a,o))}return T=new $m(F,L.length,L),sA(T),T}function CMn(e,t){var n,r,s,o,f,g,w;if(!(e.g>t.f||t.g>e.f)){for(n=0,r=0,f=e.w.a.ec().Kc();f.Ob();)s=l(f.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++n;for(g=e.r.a.ec().Kc();g.Ob();)s=l(g.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--n;for(w=t.w.a.ec().Kc();w.Ob();)s=l(w.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++r;for(o=t.r.a.ec().Kc();o.Ob();)s=l(o.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--r;n=0)return n;switch(Lw(ac(e,n))){case 2:{if(wn("",b2(e,n.qk()).xe())){if(w=QO(ac(e,n)),g=Xk(ac(e,n)),C=Z9e(e,t,w,g),C)return C;for(s=Lke(e,t),f=0,L=s.gc();f1)throw ue(new Wn(oB));for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f1,T=new N1(F.b);Oc(T.a)||Oc(T.b);)w=l(Oc(T.a)?re(T.a):re(T.b),18),L=w.c==F?w.d:w.c,b.Math.abs(Bc(he(le(Ca,1),dt,8,0,[L.i.n,L.n,L.a])).b-f.b)>1&&fSn(e,w,f,o,F)}}function DMn(e){var t,n,r,s,o,f;if(s=new Ua(e.e,0),r=new Ua(e.a,0),e.d)for(n=0;nOfe;){for(o=t,f=0;b.Math.abs(t-o)0),s.a.Xb(s.c=--s.b),GAn(e,e.b-f,o,r,s),br(s.b0),r.a.Xb(r.c=--r.b)}if(!e.d)for(n=0;n0?(e.f[C.p]=z/(C.e.c.length+C.g.c.length),e.c=b.Math.min(e.c,e.f[C.p]),e.b=b.Math.max(e.b,e.f[C.p])):g&&(e.f[C.p]=z)}}function OMn(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function NMn(e,t,n){var r,s,o,f;for(n.Ug("Graph transformation ("+e.a+")",1),f=Nw(t.a),o=new K(t.b);o.a=g.b.c)&&(g.b=t),(!g.c||t.c<=g.c.c)&&(g.d=g.c,g.c=t),(!g.e||t.d>=g.e.d)&&(g.e=t),(!g.f||t.d<=g.f.d)&&(g.f=t);return r=new uV((xT(),f3)),sN(e,axt,new Ll(he(le(yB,1),jn,382,0,[r]))),f=new uV(l4),sN(e,sxt,new Ll(he(le(yB,1),jn,382,0,[f]))),s=new uV(u4),sN(e,ixt,new Ll(he(le(yB,1),jn,382,0,[s]))),o=new uV(I6),sN(e,rxt,new Ll(he(le(yB,1),jn,382,0,[o]))),ule(r.c,f3),ule(s.c,u4),ule(o.c,I6),ule(f.c,l4),g.a.c.length=0,aa(g.a,r.c),aa(g.a,uf(s.c)),aa(g.a,o.c),aa(g.a,uf(f.c)),g}function FMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;for(t.Ug(i4t,1),z=ze(Ge(at(e,(fg(),_4)))),f=ze(Ge(at(e,(z1(),yM)))),g=l(at(e,wM),107),B7e((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),C=jvt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a),z,f),!e.a&&(e.a=new nt(Li,e,10,11)),T=new K(C);T.a0&&(e.a=w+(z-1)*o,t.c.b+=e.a,t.f.b+=e.a)),V.a.gc()!=0&&(F=new roe(1,o),z=nTe(F,t,V,J,t.f.b+w-t.c.b),z>0&&(t.f.b+=w+(z-1)*o))}function Gvt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(C=ze(Ge(Q(e,(Nt(),T3)))),r=ze(Ge(Q(e,xDe))),F=new DI,rt(F,T3,C+r),T=t,fe=T.d,J=T.c.i,Ee=T.d.i,te=Cye(J.c),Me=Cye(Ee.c),s=new mt,L=te;L<=Me;L++)g=new hp(e),x(g,(Jn(),Aa)),rt(g,(ft(),zi),T),rt(g,Ds,(Pa(),Au)),rt(g,LW,F),z=l(Rt(e.b,L),30),L==te?$y(g,z.a.c.length-n,z):Ha(g,z),$e=ze(Ge(Q(T,M2))),$e<0&&($e=0,rt(T,M2,$e)),g.o.b=$e,V=b.Math.floor($e/2),f=new du,ga(f,(_t(),Zn)),Nc(f,g),f.n.b=V,w=new du,ga(w,sr),Nc(w,g),w.n.b=V,Na(T,f),o=new Dw,mc(o,T),rt(o,lc,null),ho(o,w),Na(o,fe),S8n(g,T,o),qn(s.c,o),T=o;return s}function jle(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(w=l(k2(e,(_t(),Zn)).Kc().Pb(),12).e,z=l(k2(e,sr).Kc().Pb(),12).g,g=w.c.length,Me=I1(l(Rt(e.j,0),12));g-- >0;){for(J=(Sn(0,w.c.length),l(w.c[0],18)),s=(Sn(0,z.c.length),l(z.c[0],18)),Ee=s.d.e,o=bc(Ee,s,0),omn(J,s.d,o),ho(s,null),Na(s,null),V=J.a,t&&ci(V,new xo(Me)),r=Fr(s.a,0);r.b!=r.d.c;)n=l(Pr(r),8),ci(V,new xo(n));for(fe=J.b,F=new K(s.b);F.af)&&sa(e.b,l(te.b,18));++g}o=f}}}function Zke(e,t){var n;if(t==null||wn(t,cl)||t.length==0&&e.k!=(T2(),n9))return null;switch(e.k.g){case 1:return iV(t,xE)?(Hn(),AE):iV(t,Qfe)?(Hn(),Ub):null;case 2:try{return bt(Oh(t,ao,Ni))}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 4:try{return qy(t)}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 3:return t;case 5:return d1t(e),S2t(e,t);case 6:return d1t(e),REn(e,e.a,t);case 7:try{return n=YTn(e),n.cg(t),n}catch(r){if(r=ms(r),De(r,33))return null;throw ue(r)}default:throw ue(new ic("Invalid type set for this layout option."))}}function eTe(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Ft(Pt(t))!=O_(e.k,0);case 1:return t!=null&&l(t,222).a!=Yr(e.k)<<24>>24;case 2:return t!=null&&l(t,180).a!=(Yr(e.k)&ta);case 6:return t!=null&&O_(l(t,168).a,e.k);case 5:return t!=null&&l(t,17).a!=Yr(e.k);case 7:return t!=null&&l(t,191).a!=Yr(e.k)<<16>>16;case 3:return t!=null&&ze(Ge(t))!=e.j;case 4:return t!=null&&l(t,161).a!=e.j;default:return t==null?e.n!=null:!Fi(t,e.n)}}function CP(e,t,n){var r,s,o,f;return e.ol()&&e.nl()&&(f=Qae(e,l(n,58)),qe(f)!==qe(n))?(e.xj(t),e.Dj(t,Xlt(e,t,f)),e.al()&&(o=(s=l(n,54),e.ml()?e.kl()?s.Th(e.b,jo(l(Mn(il(e.b),e.Lj()),19)).n,l(Mn(il(e.b),e.Lj()).Hk(),29).kk(),null):s.Th(e.b,vs(s.Dh(),jo(l(Mn(il(e.b),e.Lj()),19))),null,null):s.Th(e.b,-1-e.Lj(),null,null)),!l(f,54).Ph()&&(o=(r=l(f,54),e.ml()?e.kl()?r.Rh(e.b,jo(l(Mn(il(e.b),e.Lj()),19)).n,l(Mn(il(e.b),e.Lj()).Hk(),29).kk(),o):r.Rh(e.b,vs(r.Dh(),jo(l(Mn(il(e.b),e.Lj()),19))),null,o):r.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),ch(e.b)&&e.Jj(e.Ij(9,n,f,t,!1)),f):n}function Kvt(e){var t,n,r,s,o,f,g,w,T,C;for(r=new mt,f=new K(e.e.a);f.a0&&(f=b.Math.max(f,Jft(e.C.b+r.d.b,s))),C=r,L=s,F=o;e.C&&e.C.c>0&&(z=F+e.C.c,T&&(z+=C.d.c),f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(L-1)<=H1||L==1||isNaN(L)&&isNaN(1)?0:z/(1-L)))),n.n.b=0,n.a.a=f}function Yvt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(n=l(Zo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.d=0,n.n.a=0;return}for(T=e.u.Hc((Pl(),kp)),f=0,e.A.Hc((gh(),Ov))&&Emt(e,t),g=w.Kc(),C=null,F=0,L=0;g.Ob();)r=l(g.Pb(),117),o=ze(Ge(r.b.of((Wq(),kK)))),s=r.b.Mf().b,C?(z=L+C.d.a+e.w+r.d.d,f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(F-o)<=H1||F==o||isNaN(F)&&isNaN(o)?0:z/(o-F)))):e.C&&e.C.d>0&&(f=b.Math.max(f,Jft(e.C.d+r.d.d,o))),C=r,F=o,L=s;e.C&&e.C.a>0&&(z=L+e.C.a,T&&(z+=C.d.a),f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(F-1)<=H1||F==1||isNaN(F)&&isNaN(1)?0:z/(1-F)))),n.n.d=0,n.a.b=f}function $Mn(e,t,n,r,s,o,f,g){var w,T,C,L,F,z,V,J,te,fe;if(V=!1,T=oke(n.q,t.f+t.b-n.q.f),z=r.f>t.b&&g,fe=s-(n.q.e+T-f),L=(w=eL(r,fe,!1),w.a),z&&L>r.f)return!1;if(z){for(F=0,te=new K(t.d);te.a=(Sn(o,e.c.length),l(e.c[o],186)).e,!z&&L>t.b&&!C)?!1:((C||z||L<=t.b)&&(C&&L>t.b?(n.d=L,gN(n,Ppt(n,L))):(Zgt(n.q,T),n.c=!0),gN(r,s-(n.s+n.r)),XN(r,n.q.e+n.q.d,t.f),TU(t,r),e.c.length>o&&(ZN((Sn(o,e.c.length),l(e.c[o],186)),r),(Sn(o,e.c.length),l(e.c[o],186)).a.c.length==0&&l2(e,o)),V=!0),V)}function Xvt(e,t,n){var r,s,o,f,g,w;for(this.g=e,g=t.d.length,w=n.d.length,this.d=We(kg,S2,10,g+w,0,1),f=0;f0?lce(this,this.f/this.a):L1(t.g,t.d[0]).a!=null&&L1(n.g,n.d[0]).a!=null?lce(this,(ze(L1(t.g,t.d[0]).a)+ze(L1(n.g,n.d[0]).a))/2):L1(t.g,t.d[0]).a!=null?lce(this,L1(t.g,t.d[0]).a):L1(n.g,n.d[0]).a!=null&&lce(this,L1(n.g,n.d[0]).a)}function zMn(e,t){var n,r,s,o,f,g,w,T,C,L;for(e.a=new Lat(Tyn(MM)),r=new K(t.a);r.a=1&&(te-f>0&&L>=0?(w.n.a+=J,w.n.b+=o*f):te-f<0&&C>=0&&(w.n.a+=J*te,w.n.b+=o));e.o.a=t.a,e.o.b=t.b,rt(e,(Nt(),Ev),(gh(),r=l(G0(FM),9),new Jh(r,l(o0(r,r.length),9),0)))}function UMn(e,t,n,r,s,o){var f;if(!(t==null||!rue(t,qPe,HPe)))throw ue(new Wn("invalid scheme: "+t));if(!e&&!(n!=null&&pd(n,ol(35))==-1&&n.length>0&&(Yn(0,n.length),n.charCodeAt(0)!=47)))throw ue(new Wn("invalid opaquePart: "+n));if(e&&!(t!=null&&lO(MY,t.toLowerCase()))&&!(n==null||!rue(n,zM,qM)))throw ue(new Wn(I5t+n));if(e&&t!=null&&lO(MY,t.toLowerCase())&&!Txn(n))throw ue(new Wn(I5t+n));if(!L5n(r))throw ue(new Wn("invalid device: "+r));if(!d4n(s))throw f=s==null?"invalid segments: null":"invalid segment: "+u4n(s),ue(new Wn(f));if(!(o==null||pd(o,ol(35))==-1))throw ue(new Wn("invalid query: "+o))}function VMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(n.Ug("Network simplex layering",1),e.b=t,fe=l(Q(t,(Nt(),rM)),17).a*4,te=e.b.a,te.c.length<1){n.Vg();return}for(o=H_n(e,te),J=null,s=Fr(o,0);s.b!=s.d.c;){for(r=l(Pr(s),15),g=fe*da(b.Math.sqrt(r.gc())),f=iAn(r),xle(y3e(Vun(x3e(Mae(f),g),J),!0),n.eh(1)),F=e.b.b,V=new K(f.a);V.a1)for(J=We(Ur,fi,28,e.b.b.c.length,15,1),L=0,T=new K(e.b.b);T.a0){sV(e,n,0),n.a+=String.fromCharCode(r),s=d6n(t,o),sV(e,n,s),o+=s-1;continue}r==39?o+10&&V.a<=0){w.c.length=0,qn(w.c,V);break}z=V.i-V.d,z>=g&&(z>g&&(w.c.length=0,g=z),qn(w.c,V))}w.c.length!=0&&(f=l(Rt(w,dV(s,w.c.length)),118),Me.a.Bc(f)!=null,f.g=C++,qke(f,t,n,r),w.c.length=0)}for(te=e.c.length+1,F=new K(e);F.aoa||t.o==_v&&C=g&&s<=w)g<=s&&o<=w?(n[C++]=s,n[C++]=o,r+=2):g<=s?(n[C++]=s,n[C++]=w,e.b[r]=w+1,f+=2):o<=w?(n[C++]=g,n[C++]=o,r+=2):(n[C++]=g,n[C++]=w,e.b[r]=w+1);else if(wFb)&&g<10);T3e(e.c,new X7),ewt(e),$gn(e.c),PMn(e.f)}function eDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(n=l(Q(e,(Nt(),Ds)),101),f=e.f,o=e.d,g=f.a+o.b+o.c,w=0-o.d-e.c.b,C=f.b+o.d+o.a-e.c.b,T=new mt,L=new mt,s=new K(t);s.a=2){for(w=Fr(n,0),f=l(Pr(w),8),g=l(Pr(w),8);g.a0&&NN(T,!0,(ea(),yc)),g.k==(Jn(),Ks)&&Rat(T),Ti(e.f,g,t)}}function rDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(s=l(Q(e,(Zi(),pM)),27),T=Ni,C=Ni,g=ao,w=ao,Me=Fr(e.b,0);Me.b!=Me.d.c;)fe=l(Pr(Me),40),z=fe.e,V=fe.f,T=b.Math.min(T,z.a-V.a/2),C=b.Math.min(C,z.b-V.b/2),g=b.Math.max(g,z.a+V.a/2),w=b.Math.max(w,z.b+V.b/2);for(F=l(at(s,(Vc(),IIe)),107),Ee=Fr(e.b,0);Ee.b!=Ee.d.c;)fe=l(Pr(Ee),40),L=Q(fe,pM),De(L,207)&&(o=l(L,27),Xh(o,fe.e.a,fe.e.b),gP(o,fe));for(te=Fr(e.a,0);te.b!=te.d.c;)J=l(Pr(te),65),r=l(Q(J,pM),74),r&&(t=J.a,n=f6(r,!0,!0),xP(t,n));$e=g-T+(F.b+F.c),f=w-C+(F.d+F.a),Ft(Pt(at(s,(bi(),A4))))||Zw(s,$e,f,!1,!1),Vi(s,r7,$e-(F.b+F.c)),Vi(s,n7,f-(F.d+F.a))}function nwt(e,t){var n,r,s,o,f,g,w,T,C,L;for(w=!0,s=0,T=e.g[t.p],C=t.o.b+e.o,n=e.d[t.p][2],nf(e.b,T,bt(l(Rt(e.b,T),17).a-1+n)),nf(e.c,T,ze(Ge(Rt(e.c,T)))-C+n*e.f),++T,T>=e.j?(++e.j,wt(e.b,bt(1)),wt(e.c,C)):(r=e.d[t.p][1],nf(e.b,T,bt(l(Rt(e.b,T),17).a+1-r)),nf(e.c,T,ze(Ge(Rt(e.c,T)))+C-r*e.f)),(e.r==(Nf(),BB)&&(l(Rt(e.b,T),17).a>e.k||l(Rt(e.b,T-1),17).a>e.k)||e.r==FB&&(ze(Ge(Rt(e.c,T)))>e.n||ze(Ge(Rt(e.c,T-1)))>e.n))&&(w=!1),f=new lr(fr(Ea(t).a.Kc(),new j));Rr(f);)o=l(yr(f),18),g=o.c.i,e.g[g.p]==T&&(L=nwt(e,g),s=s+l(L.a,17).a,w=w&&Ft(Pt(L.b)));return e.g[t.p]=T,s=s+e.d[t.p][0],new fa(bt(s),(Hn(),!!w))}function rwt(e,t){var n,r,s,o,f;n=ze(Ge(Q(t,(Nt(),y0)))),n<2&&rt(t,y0,2),r=l(Q(t,Rh),88),r==(ea(),J1)&&rt(t,Rh,WU(t)),s=l(Q(t,yTt),17),s.a==0?rt(t,(ft(),Qx),new sue):rt(t,(ft(),Qx),new QH(s.a)),o=Pt(Q(t,eM)),o==null&&rt(t,eM,(Hn(),qe(Q(t,yp))===qe((cp(),aC)))),Os(new vn(null,new kn(t.a,16)),new Qp(e)),Os(Pc(new vn(null,new kn(t.b,16)),new h5),new r_(e)),f=new Qvt(t),rt(t,(ft(),q6),f),XO(e.a),Y0(e.a,(so(),w0),l(Q(t,xv),188)),Y0(e.a,xg,l(Q(t,Tv),188)),Y0(e.a,pu,l(Q(t,ZL),188)),Y0(e.a,Cu,l(Q(t,_W),188)),Y0(e.a,wc,ryn(l(Q(t,yp),223))),_ye(e.a,JIn(t)),rt(t,ode,EP(e.a,t))}function nTe(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe;for(L=new Nr,f=new mt,n2t(e,n,e.d.Ag(),f,L),n2t(e,r,e.d.Bg(),f,L),e.b=.2*(J=obt(Pc(new vn(null,new kn(f,16)),new Rte)),te=obt(Pc(new vn(null,new kn(f,16)),new jte)),b.Math.min(J,te)),o=0,g=0;g=2&&(fe=Sbt(f,!0,F),!e.e&&(e.e=new PXe(e)),u6n(e.e,fe,f,e.b)),upt(f,F),uDn(f),z=-1,C=new K(f);C.ag)}function iwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(T=gs,C=gs,g=oa,w=oa,F=new K(t.i);F.a-1){for(s=Fr(g,0);s.b!=s.d.c;)r=l(Pr(s),131),r.v=f;for(;g.b!=0;)for(r=l(Bue(g,0),131),n=new K(r.i);n.a-1){for(o=new K(g);o.a0)&&(Y(w,b.Math.min(w.o,s.o-1)),q(w,w.i-1),w.i==0&&qn(g.c,w))}}function awt(e,t,n,r,s){var o,f,g,w;return w=gs,f=!1,g=Kke(e,ya(new lt(t.a,t.b),e),Pi(new lt(n.a,n.b),s),ya(new lt(r.a,r.b),n)),o=!!g&&!(b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3||b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3),g=Kke(e,ya(new lt(t.a,t.b),e),n,s),g&&((b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3)==(b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3)||o?w=b.Math.min(w,tA(ya(g,n))):f=!0),g=Kke(e,ya(new lt(t.a,t.b),e),r,s),g&&(f||(b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3)==(b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3)||o)&&(w=b.Math.min(w,tA(ya(g,r)))),w}function owt(e){fw(e,new iv(Jz(uw(aw(cw(ow(new x1,jb),iyt),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new y1),Yu))),pt(e,jb,fL,It(AAe)),pt(e,jb,pG,(Hn(),!0)),pt(e,jb,T6,It(H8t)),pt(e,jb,Bx,It(U8t)),pt(e,jb,Px,It(V8t)),pt(e,jb,gE,It(q8t)),pt(e,jb,dL,It(MAe)),pt(e,jb,pE,It(G8t)),pt(e,jb,ZTe,It(_Ae)),pt(e,jb,tEe,It(CAe)),pt(e,jb,nEe,It(SAe)),pt(e,jb,rEe,It(LAe)),pt(e,jb,eEe,It(DK))}function lDn(e){var t,n,r,s,o,f,g,w;for(t=null,r=new K(e);r.a0&&n.c==0&&(!t&&(t=new mt),qn(t.c,n));if(t)for(;t.c.length!=0;){if(n=l(l2(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new mt),new K(n.b));o.abc(e,n,0))return new fa(s,n)}else if(ze(L1(s.g,s.d[0]).a)>ze(L1(n.g,n.d[0]).a))return new fa(s,n)}for(g=(!n.e&&(n.e=new mt),n.e).Kc();g.Ob();)f=l(g.Pb(),239),w=(!f.b&&(f.b=new mt),f.b),Sy(0,w.c.length),k_(w.c,0,n),f.c==w.c.length&&qn(t.c,f)}return null}function hDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(t.Ug("Interactive crossing minimization",1),f=0,o=new K(e.b);o.a0&&(n+=w.n.a+w.o.a/2,++L),V=new K(w.j);V.a0&&(n/=L),fe=We(Oa,tc,28,r.a.c.length,15,1),g=0,T=new K(r.a);T.a=g&&s<=w)g<=s&&o<=w?r+=2:g<=s?(e.b[r]=w+1,f+=2):o<=w?(n[C++]=s,n[C++]=g-1,r+=2):(n[C++]=s,n[C++]=g-1,e.b[r]=w+1,f+=2);else if(w2?(C=new mt,aa(C,new c2(fe,1,fe.b)),o=Wwt(C,Me+e.a),Ee=new ale(o),mc(Ee,t),qn(n.c,Ee)):r?Ee=l(or(e.b,hg(t)),272):Ee=l(or(e.b,Ib(t)),272),w=hg(t),r&&(w=Ib(t)),f=lkn(te,w),T=Me+e.a,f.a?(T+=b.Math.abs(te.b-L.b),J=new lt(L.a,(L.b+te.b)/2)):(T+=b.Math.abs(te.a-L.a),J=new lt((L.a+te.a)/2,L.b)),r?Ti(e.d,t,new yxe(Ee,f,J,T)):Ti(e.c,t,new yxe(Ee,f,J,T)),Ti(e.b,t,Ee),V=(!t.n&&(t.n=new nt(nc,t,1,7)),t.n),z=new ar(V);z.e!=z.i.gc();)F=l(dr(z),135),s=mP(e,F,!0,0,0),qn(n.c,s)}function fDn(e){var t,n,r,s,o,f,g;if(!e.A.dc()){if(e.A.Hc((gh(),fF))&&(l(Zo(e.b,(_t(),Xn)),127).k=!0,l(Zo(e.b,Mr),127).k=!0,t=e.q!=(Pa(),_g)&&e.q!=Au,Nz(l(Zo(e.b,sr),127),t),Nz(l(Zo(e.b,Zn),127),t),Nz(e.g,t),e.A.Hc(Ov)&&(l(Zo(e.b,Xn),127).j=!0,l(Zo(e.b,Mr),127).j=!0,l(Zo(e.b,sr),127).k=!0,l(Zo(e.b,Zn),127).k=!0,e.g.k=!0)),e.A.Hc(hF))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,g=e.B.Hc((Xl(),RM)),s=gue(),o=0,f=s.length;o0),l(C.a.Xb(C.c=--C.b),18));o!=r&&C.b>0;)e.a[o.p]=!0,e.a[r.p]=!0,o=(br(C.b>0),l(C.a.Xb(C.c=--C.b),18));C.b>0&&fh(C)}}function uwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;if(!e.b)return!1;for(f=null,F=null,w=new Xoe(null,null),s=1,w.a[1]=e.b,L=w;L.a[s];)T=s,g=F,F=L,L=L.a[s],r=e.a.Ne(t,L.d),s=r<0?0:1,r==0&&(!n.c||eu(L.e,n.d))&&(f=L),!(L&&L.b)&&!ly(L.a[s])&&(ly(L.a[1-s])?F=F.a[T]=MU(L,s):ly(L.a[1-s])||(z=F.a[1-T],z&&(!ly(z.a[1-T])&&!ly(z.a[T])?(F.b=!1,z.b=!0,L.b=!0):(o=g.a[1]==F?1:0,ly(z.a[T])?g.a[o]=jct(F,T):ly(z.a[1-T])&&(g.a[o]=MU(F,T)),L.b=g.a[o].b=!0,g.a[o].a[0].b=!1,g.a[o].a[1].b=!1))));return f&&(n.b=!0,n.d=f.e,L!=f&&(C=new Xoe(L.d,L.e),p9n(e,w,f,C),F==f&&(F=C)),F.a[F.a[1]==L?1:0]=L.a[L.a[0]?0:1],--e.c),e.b=w.a[1],e.b&&(e.b.b=!1),n.b}function pDn(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(s=new K(e.a.a.b);s.a0?s-=864e5:s+=864e5,w=new h4e(fo(tu(t.q.getTime()),s))),C=new A5,T=e.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(f=o+1;f=T)throw ue(new Wn("Missing trailing '"));f+1=14&&C<=16))?t.a._b(r)?(n.a?li(n.a,n.b):n.a=new Eh(n.d),P_(n.a,"[...]")):(g=Km(r),T=new G_(t),np(n,hwt(g,T))):De(r,183)?np(n,Kkn(l(r,183))):De(r,195)?np(n,Ixn(l(r,195))):De(r,201)?np(n,q9n(l(r,201))):De(r,2111)?np(n,Oxn(l(r,2111))):De(r,53)?np(n,Gkn(l(r,53))):De(r,376)?np(n,lTn(l(r,376))):De(r,846)?np(n,Vkn(l(r,846))):De(r,109)&&np(n,Ukn(l(r,109))):np(n,r==null?cl:Tc(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function eE(e,t){var n,r,s,o;o=e.F,t==null?(e.F=null,_T(e,null)):(e.F=(tr(t),t),r=pd(t,ol(60)),r!=-1?(s=(Va(0,r,t.length),t.substr(0,r)),pd(t,ol(46))==-1&&!wn(s,Sx)&&!wn(s,_L)&&!wn(s,ZG)&&!wn(s,AL)&&!wn(s,LL)&&!wn(s,ML)&&!wn(s,DL)&&!wn(s,IL)&&(s=V5t),n=Vq(t,ol(62)),n!=-1&&(s+=""+(Yn(n+1,t.length+1),t.substr(n+1))),_T(e,s)):(s=t,pd(t,ol(46))==-1&&(r=pd(t,ol(91)),r!=-1&&(s=(Va(0,r,t.length),t.substr(0,r))),!wn(s,Sx)&&!wn(s,_L)&&!wn(s,ZG)&&!wn(s,AL)&&!wn(s,LL)&&!wn(s,ML)&&!wn(s,DL)&&!wn(s,IL)?(s=V5t,r!=-1&&(s+=""+(Yn(r,t.length+1),t.substr(r)))):s=t),_T(e,s),s==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,5,o,t))}function fwt(e,t){var n,r,s,o,f,g,w,T,C,L;if(w=t.length-1,g=(Yn(w,t.length),t.charCodeAt(w)),g==93){if(f=pd(t,ol(91)),f>=0)return s=y5n(e,(Va(1,f,t.length),t.substr(1,f-1))),C=(Va(f+1,w,t.length),t.substr(f+1,w-(f+1))),GIn(e,C,s)}else{if(n=-1,m_e==null&&(m_e=new RegExp("\\d")),m_e.test(String.fromCharCode(g))&&(n=L4e(t,ol(46),w-1),n>=0)){r=l(Uoe(e,eft(e,(Va(1,n,t.length),t.substr(1,n-1))),!1),61),T=0;try{T=Oh((Yn(n+1,t.length+1),t.substr(n+1)),ao,Ni)}catch(F){throw F=ms(F),De(F,130)?(o=F,ue(new uU(o))):ue(F)}if(T>16==-10?n=l(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(En(),td)),!T&&(T=(En(),td)),e.Cb.Yh()&&(w=new rp(e.Cb,1,13,T,t,x2(Kl(l(e.Cb,62)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,90))e.Db>>16==-23&&(De(t,90)||(t=(En(),Kf)),De(T,90)||(T=(En(),Kf)),e.Cb.Yh()&&(w=new rp(e.Cb,1,10,T,t,x2(fu(l(e.Cb,29)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,457))for(g=l(e.Cb,850),f=(!g.b&&(g.b=new qz(new ise)),g.b),o=(r=new Xm(new Cr(f.a).a),new Hz(r));o.a.b;)s=l(zw(o.a).ld(),89),n=tE(s,OV(s,g),n)}return n}function yDn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(f=Ft(Pt(at(e,(Nt(),w4)))),F=l(at(e,x4),21),w=!1,T=!1,L=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));L.e!=L.i.gc()&&(!w||!T);){for(o=l(dr(L),123),g=0,s=ag(Lh(he(le(Fh,1),jn,20,0,[(!o.d&&(o.d=new An(js,o,8,5)),o.d),(!o.e&&(o.e=new An(js,o,7,4)),o.e)])));Rr(s)&&(r=l(yr(s),74),C=f&&Yw(r)&&Ft(Pt(at(r,kv))),n=Uvt((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),o)?e==ds(vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))):e==ds(vc(l(Oe((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),0),84))),!((C||n)&&(++g,g>1))););(g>0||F.Hc((Pl(),kp))&&(!o.n&&(o.n=new nt(nc,o,1,7)),o.n).i>0)&&(w=!0),g>1&&(T=!0)}w&&t.Fc((Ho(),mf)),T&&t.Fc((Ho(),GL))}function dwt(e){var t,n,r,s,o,f,g,w,T,C,L,F;if(F=l(at(e,(bi(),Mv)),21),F.dc())return null;if(g=0,f=0,F.Hc((gh(),fF))){for(C=l(at(e,AM),101),r=2,n=2,s=2,o=2,t=ds(e)?l(at(ds(e),Lv),88):l(at(e,Lv),88),T=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));T.e!=T.i.gc();)if(w=l(dr(T),123),L=l(at(w,o7),64),L==(_t(),jc)&&(L=zke(w,t),Vi(w,o7,L)),C==(Pa(),Au))switch(L.g){case 1:r=b.Math.max(r,w.i+w.g);break;case 2:n=b.Math.max(n,w.j+w.f);break;case 3:s=b.Math.max(s,w.i+w.g);break;case 4:o=b.Math.max(o,w.j+w.f)}else switch(L.g){case 1:r+=w.g+2;break;case 2:n+=w.f+2;break;case 3:s+=w.g+2;break;case 4:o+=w.f+2}g=b.Math.max(r,s),f=b.Math.max(n,o)}return Zw(e,g,f,!0,!0)}function $le(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(Ee=l(kc(mU(ji(new vn(null,new kn(t.d,16)),new tXe(n)),new nXe(n)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),L=Ni,C=ao,w=new K(t.b.j);w.a0,T?T&&(F=fe.p,f?++F:--F,L=l(Rt(fe.c.a,F),10),r=F0t(L),z=!(lle(r,ot,n[0])||oat(r,ot,n[0]))):z=!0),V=!1,Je=t.D.i,Je&&Je.c&&g.e&&(C=f&&Je.p>0||!f&&Je.p=0){for(w=null,g=new Ua(C.a,T+1);g.bf?1:bw(isNaN(0),isNaN(f)))<0&&(h0(Nd),(b.Math.abs(f-1)<=Nd||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:bw(isNaN(f),isNaN(1)))<0)&&(h0(Nd),(b.Math.abs(0-g)<=Nd||g==0||isNaN(0)&&isNaN(g)?0:0g?1:bw(isNaN(0),isNaN(g)))<0)&&(h0(Nd),(b.Math.abs(g-1)<=Nd||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:bw(isNaN(g),isNaN(1)))<0)),o)}function SDn(e){var t,n,r,s;if(n=e.D!=null?e.D:e.B,t=pd(n,ol(91)),t!=-1){r=(Va(0,t,n.length),n.substr(0,t)),s=new e2;do s.a+="[";while((t=Bk(n,91,++t))!=-1);wn(r,Sx)?s.a+="Z":wn(r,_L)?s.a+="B":wn(r,ZG)?s.a+="C":wn(r,AL)?s.a+="D":wn(r,LL)?s.a+="F":wn(r,ML)?s.a+="I":wn(r,DL)?s.a+="J":wn(r,IL)?s.a+="S":(s.a+="L",s.a+=""+r,s.a+=";");try{return null}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}}else if(pd(n,ol(46))==-1){if(wn(n,Sx))return th;if(wn(n,_L))return _l;if(wn(n,ZG))return xf;if(wn(n,AL))return Oa;if(wn(n,LL))return j4;if(wn(n,ML))return Ur;if(wn(n,DL))return hm;if(wn(n,IL))return d7}return null}function _Dn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(e.e=t,g=_Tn(t),ot=new mt,r=new K(g);r.a=0&&J=T.c.c.length?C=_6e((Jn(),Bs),Aa):C=_6e((Jn(),Aa),Aa),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),f=n.b.g,n.b.g=b.Math.max(f,f+(C-f)),s=t}}function DDn(e){var t,n,r,s;for(Os(ji(new vn(null,new kn(e.a.b,16)),new $j),new yee),fxn(e),Os(ji(new vn(null,new kn(e.a.b,16)),new xee),new kee),e.c==(cp(),a9)&&(Os(ji(Pc(new vn(null,new kn(new pr(e.f),1)),new Tee),new Eee),new WYe(e)),Os(ji(gc(Pc(Pc(new vn(null,new kn(e.d.b,16)),new Cee),new zj),new See),new qj),new XYe(e))),s=new lt(gs,gs),t=new lt(oa,oa),r=new K(e.a.b);r.a0&&(t.a+=To),ZV(l(dr(g),167),t);for(t.a+=Yhe,w=new H8((!r.c&&(r.c=new An(Sr,r,5,8)),r.c));w.e!=w.i.gc();)w.e>0&&(t.a+=To),ZV(l(dr(w),167),t);t.a+=")"}}function IDn(e,t,n){var r,s,o,f,g,w,T,C;for(w=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));w.e!=w.i.gc();)for(g=l(dr(w),27),s=new lr(fr(fp(g).a.Kc(),new j));Rr(s);){if(r=l(yr(s),74),!r.b&&(r.b=new An(Sr,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new An(Sr,r,5,8)),r.c.i<=1)))throw ue(new O8("Graph must not contain hyperedges."));if(!HA(r)&&g!=vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84)))for(T=new pit,mc(T,r),rt(T,(Cb(),Ux),r),qie(T,l(dc(zo(n.f,g)),153)),T8(T,l(or(n,vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))),153)),wt(t.c,T),f=new ar((!r.n&&(r.n=new nt(nc,r,1,7)),r.n));f.e!=f.i.gc();)o=l(dr(f),135),C=new mut(T,o.a),mc(C,o),rt(C,Ux,o),C.e.a=b.Math.max(o.g,1),C.e.b=b.Math.max(o.f,1),Gke(C),wt(t.d,C)}}function ODn(e,t,n){var r,s,o,f,g,w,T,C,L,F;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=l(Q(t,(Nt(),Xb)),243),e.r!=(Nf(),C3)&&e.r!=E4?aIn(e):ISn(e),C=l(Q(e.i,oDe),17).a,o=new hd,e.r.g){case 2:case 1:ZT(e,o);break;case 3:for(e.r=BW,ZT(e,o),w=0,g=new K(e.b);g.ae.k&&(e.r=BB,ZT(e,o));break;case 4:for(e.r=BW,ZT(e,o),T=0,s=new K(e.c);s.ae.n&&(e.r=FB,ZT(e,o));break;case 6:F=da(b.Math.ceil(e.g.length*C/100)),ZT(e,new BYe(F));break;case 5:L=da(b.Math.ceil(e.e*C/100)),ZT(e,new FYe(L));break;case 8:Qwt(e,!0);break;case 9:Qwt(e,!1);break;default:ZT(e,o)}e.r!=C3&&e.r!=E4?nSn(e,t):k_n(e,t),n.Vg()}function NDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(L=e.b,C=new Ua(L,0),wy(C,new vu(e)),Ee=!1,f=1;C.b0&&(F.d+=C.n.d,F.d+=C.d),F.a>0&&(F.a+=C.n.a,F.a+=C.d),F.b>0&&(F.b+=C.n.b,F.b+=C.d),F.c>0&&(F.c+=C.n.c,F.c+=C.d),F}function pwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;for(F=n.d,L=n.c,o=new lt(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),f=o.b,T=new K(e.a);T.a0&&(e.c[t.c.p][t.p].d+=Yl(e.i,24)*RP*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function FDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(V=new K(e);V.ar.d,r.d=b.Math.max(r.d,t),g&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=t>r.a,r.a=b.Math.max(r.a,t),g&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=t>r.c,r.c=b.Math.max(r.c,t),g&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=t>r.b,r.b=b.Math.max(r.b,t),g&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function mwt(e,t){var n,r,s,o,f,g,w,T,C;return T="",t.length==0?e.ne(kTe,Jle,-1,-1):(C=Hy(t),wn(C.substr(0,3),"at ")&&(C=(Yn(3,C.length+1),C.substr(3))),C=C.replace(/\[.*?\]/g,""),f=C.indexOf("("),f==-1?(f=C.indexOf("@"),f==-1?(T=C,C=""):(T=Hy((Yn(f+1,C.length+1),C.substr(f+1))),C=Hy((Va(0,f,C.length),C.substr(0,f))))):(n=C.indexOf(")",f),T=(Va(f+1,n,C.length),C.substr(f+1,n-(f+1))),C=Hy((Va(0,f,C.length),C.substr(0,f)))),f=pd(C,ol(46)),f!=-1&&(C=(Yn(f+1,C.length+1),C.substr(f+1))),(C.length==0||wn(C,"Anonymous function"))&&(C=Jle),g=Vq(T,ol(58)),s=L4e(T,ol(58),g-1),w=-1,r=-1,o=kTe,g!=-1&&s!=-1&&(o=(Va(0,s,T.length),T.substr(0,s)),w=Nrt((Va(s+1,g,T.length),T.substr(s+1,g-(s+1)))),r=Nrt((Yn(g+1,T.length+1),T.substr(g+1)))),e.ne(o,C,w,r))}function $Dn(e){var t,n,r,s,o,f,g,w,T,C,L;for(T=new K(e);T.a0||C.j==Zn&&C.e.c.length-C.g.c.length<0)){t=!1;break}for(s=new K(C.g);s.a=T&&Je>=te&&(F+=V.n.b+J.n.b+J.a.b-$e,++g));if(n)for(f=new K(Ee.e);f.a=T&&Je>=te&&(F+=V.n.b+J.n.b+J.a.b-$e,++g))}g>0&&(ot+=F/g,++z)}z>0?(t.a=s*ot/z,t.g=z):(t.a=0,t.g=0)}function qDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(o=e.f.b,F=o.a,C=o.b,V=e.e.g,z=e.e.f,j5(e.e,o.a,o.b),ot=F/V,At=C/z,T=new ar(MH(e.e));T.e!=T.i.gc();)w=l(dr(T),135),Vu(w,w.i*ot),Gu(w,w.j*At);for(Ee=new ar(loe(e.e));Ee.e!=Ee.i.gc();)fe=l(dr(Ee),123),$e=fe.i,Je=fe.j,$e>0&&Vu(fe,$e*ot),Je>0&&Gu(fe,Je*At);for(vA(e.b,new Vg),t=new mt,g=new Xm(new Cr(e.c).a);g.b;)f=zw(g),r=l(f.ld(),74),n=l(f.md(),407).a,s=f6(r,!1,!1),L=lpt(hg(r),sP(s),n),xP(L,s),Me=Tpt(r),Me&&bc(t,Me,0)==-1&&(qn(t.c,Me),Jat(Me,(br(L.b!=0),l(L.a.a.c,8)),n));for(te=new Xm(new Cr(e.d).a);te.b;)J=zw(te),r=l(J.ld(),74),n=l(J.md(),407).a,s=f6(r,!1,!1),L=lpt(Ib(r),BN(sP(s)),n),L=BN(L),xP(L,s),Me=Ept(r),Me&&bc(t,Me,0)==-1&&(qn(t.c,Me),Jat(Me,(br(L.b!=0),l(L.c.b.c,8)),n))}function vwt(e,t,n,r){var s,o,f,g,w;return g=new sTe(t),OCn(g,r),s=!0,e&&e.pf((bi(),Lv))&&(o=l(e.of((bi(),Lv)),88),s=o==(ea(),J1)||o==hc||o==yc),mmt(g,!1),Uu(g.e.Rf(),new B4e(g,!1,s)),Toe(g,g.f,(e1(),Wc),(_t(),Xn)),Toe(g,g.f,Yc,Mr),Toe(g,g.g,Wc,Zn),Toe(g,g.g,Yc,sr),Gdt(g,Xn),Gdt(g,Mr),Yat(g,sr),Yat(g,Zn),vy(),f=g.A.Hc((gh(),D4))&&g.B.Hc((Xl(),gF))?ldt(g):null,f&&qun(g.a,f),jDn(g),$7n(g),z7n(g),fDn(g),$_n(g),d8n(g),fue(g,Xn),fue(g,Mr),m_n(g),$Ln(g),n&&(x5n(g),g8n(g),fue(g,sr),fue(g,Zn),w=g.B.Hc((Xl(),RM)),u2t(g,w,Xn),u2t(g,w,Mr),l2t(g,w,sr),l2t(g,w,Zn),Os(new vn(null,new kn(new pi(g.i),0)),new Lc),Os(ji(new vn(null,N5e(g.r).a.oc()),new Fa),new Ra),Axn(g),g.e.Pf(g.o),Os(new vn(null,N5e(g.r).a.oc()),new ma)),g.o}function HDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(T=gs,r=new K(e.a.b);r.a1)for(z=new Xke(V,Me,r),Za(Me,new Att(e,z)),qn(f.c,z),L=Me.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),sl(o,C.b);if(g.a.gc()>1)for(z=new Xke(V,g,r),Za(g,new Ltt(e,z)),qn(f.c,z),L=g.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),sl(o,C.b)}}function KDn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(J=e.n,te=e.o,F=e.d,L=ze(Ge(Ry(e,(Nt(),xde)))),t){for(C=L*(t.gc()-1),z=0,w=t.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b-F.d+z,r=te.a/(t.gc()+1),s=r,g=t.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o-f.o.b,fe+=f.o.a+L,T=_bt(f),T.n.a=f.o.a/2-T.a.a,T.n.b=f.o.b,V=l(Q(f,(ft(),lW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=s-V.a.a,V.n.b=0,Nc(V,e)),s+=r}if(n){for(C=L*(n.gc()-1),z=0,w=n.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b+te.b+F.a-z,r=te.a/(n.gc()+1),s=r,g=n.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o,fe+=f.o.a+L,T=_bt(f),T.n.a=f.o.a/2-T.a.a,T.n.b=0,V=l(Q(f,(ft(),lW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=s-V.a.a,V.n.b=te.b,Nc(V,e)),s+=r}}function WDn(e,t){var n,r,s,o,f,g;if(l(Q(t,(ft(),_u)),21).Hc((Ho(),mf))){for(g=new K(t.a);g.a=0&&f0&&(l(Zo(e.b,t),127).a.b=n)}function ZDn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J;if(F=ze(Ge(Q(e,(Nt(),WE)))),z=ze(Ge(Q(e,YE))),L=ze(Ge(Q(e,T4))),g=e.o,o=l(Rt(e.j,0),12),f=o.n,J=bkn(o,L),!!J){if(t.Hc((Pl(),kp)))switch(l(Q(e,(ft(),Xc)),64).g){case 1:J.c=(g.a-J.b)/2-f.a,J.d=z;break;case 3:J.c=(g.a-J.b)/2-f.a,J.d=-z-J.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=-F-J.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=F}else if(t.Hc(im))switch(l(Q(e,(ft(),Xc)),64).g){case 1:case 3:J.c=f.a+F;break;case 2:case 4:n&&!o.c?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=f.b+z}for(s=J.d,T=new K(o.f);T.a=t.length)return{done:!0};var s=t[r++];return{value:[s,n.get(s)],done:!1}}}},XSn()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[Ehe]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Zi(){Zi=U,pM=new Ki(JTe),new ws("DEPTH",bt(0)),Yde=new ws("FAN",bt(0)),yIe=new ws(Uyt,bt(0)),Zb=new ws("ROOT",(Hn(),!1)),Jde=new ws("LEFTNEIGHBOR",null),HEt=new ws("RIGHTNEIGHBOR",null),HW=new ws("LEFTSIBLING",null),Zde=new ws("RIGHTSIBLING",null),Wde=new ws("DUMMY",!1),new ws("LEVEL",bt(0)),TIe=new ws("REMOVABLE_EDGES",new os),HB=new ws("XCOOR",bt(0)),UB=new ws("YCOOR",bt(0)),UW=new ws("LEVELHEIGHT",0),o1=new ws("LEVELMIN",0),x0=new ws("LEVELMAX",0),Xde=new ws("GRAPH_XMIN",0),Qde=new ws("GRAPH_YMIN",0),xIe=new ws("GRAPH_XMAX",0),kIe=new ws("GRAPH_YMAX",0),wIe=new ws("COMPACT_LEVEL_ASCENSION",!1),Kde=new ws("COMPACT_CONSTRAINTS",new mt),gM=new ws("ID",""),bM=new ws("POSITION",bt(0)),N2=new ws("PRELIM",0),eC=new ws("MODIFIER",0),ZE=new Ki(nyt),qB=new Ki(ryt)}function rIn(e){$ke();var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(e==null)return null;if(L=e.length*8,L==0)return"";for(g=L%24,z=L/24|0,F=g!=0?z+1:z,o=null,o=We(xf,Ad,28,F*4,15,1),T=0,C=0,t=0,n=0,r=0,f=0,s=0,w=0;w>24,T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,te=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[f++]=H2[V],o[f++]=H2[J|T<<4],o[f++]=H2[C<<2|te],o[f++]=H2[r&63];return g==8?(t=e[s],T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[f++]=H2[V],o[f++]=H2[T<<4],o[f++]=61,o[f++]=61):g==16&&(t=e[s],n=e[s+1],C=(n&15)<<24>>24,T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[f++]=H2[V],o[f++]=H2[J|T<<4],o[f++]=H2[C<<2],o[f++]=61),If(o,0,o.length)}function iIn(e,t){var n,r,s,o,f,g,w;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>ao&&S6e(t,e.p-Rb),f=t.q.getDate(),rN(t,1),e.k>=0&&G2n(t,e.k),e.c>=0?rN(t,e.c):e.k>=0?(w=new n8e(t.q.getFullYear()-Rb,t.q.getMonth(),35),r=35-w.q.getDate(),rN(t,b.Math.min(r,f))):rN(t,f),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),Fhn(t,e.f==24&&e.g?0:e.f),e.j>=0&&Avn(t,e.j),e.n>=0&&$vn(t,e.n),e.i>=0&&_nt(t,fo(go(tP(tu(t.q.getTime()),C2),C2),e.i)),e.a&&(s=new iq,S6e(s,s.q.getFullYear()-Rb-80),Sse(tu(t.q.getTime()),tu(s.q.getTime()))&&S6e(t,s.q.getFullYear()-Rb+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),g=t.q.getMonth(),rN(t,t.q.getDate()+n),t.q.getMonth()!=g&&rN(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>ao&&(o=t.q.getTimezoneOffset(),_nt(t,fo(tu(t.q.getTime()),(e.o-o)*60*C2))),!0}function Twt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(s=Q(t,(ft(),zi)),!!De(s,207)){for(V=l(s,27),J=t.e,F=new xo(t.c),o=t.d,F.a+=o.b,F.b+=o.d,$e=l(at(V,(Nt(),AW)),181),ml($e,(Xl(),bY))&&(z=l(at(V,fDe),107),Rie(z,o.a),Pwe(z,o.d),jie(z,o.b),k8(z,o.c)),n=new mt,C=new K(t.a);C.ar.c.length-1;)wt(r,new fa(k6,LCe));n=l(Q(s,$d),17).a,Yg(l(Q(e,_3),88))?(s.e.aze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),s.e.a+s.f.a)):(s.e.bze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),s.e.b+s.f.b))}for(o=Fr(e.b,0);o.b!=o.d.c;)s=l(Pr(o),40),n=l(Q(s,(Vc(),$d)),17).a,rt(s,(Zi(),o1),Ge((Sn(n,r.c.length),l(r.c[n],42)).a)),rt(s,x0,Ge((Sn(n,r.c.length),l(r.c[n],42)).b));t.Vg()}function aIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(e.o=ze(Ge(Q(e.i,(Nt(),E3)))),e.f=ze(Ge(Q(e.i,Sv))),e.j=e.i.b.c.length,g=e.j-1,F=0,e.k=0,e.n=0,e.b=O1(We(to,dt,17,e.j,0,1)),e.c=O1(We(ra,dt,345,e.j,7,1)),f=new K(e.i.b);f.a0&&wt(e.q,C),wt(e.p,C);t-=r,z=w+t,T+=t*e.f,nf(e.b,g,bt(z)),nf(e.c,g,T),e.k=b.Math.max(e.k,z),e.n=b.Math.max(e.n,T),e.e+=t,t+=J}}function _t(){_t=U;var e;jc=new _O(uL,0),Xn=new _O(uG,1),sr=new _O(Nhe,2),Mr=new _O(Phe,3),Zn=new _O(Bhe,4),ed=(Cn(),new Ck((e=l(G0(Mo),9),new Jh(e,l(o0(e,e.length),9),0)))),S0=p2(is(Xn,he(le(Mo,1),ou,64,0,[]))),wf=p2(is(sr,he(le(Mo,1),ou,64,0,[]))),$h=p2(is(Mr,he(le(Mo,1),ou,64,0,[]))),Hf=p2(is(Zn,he(le(Mo,1),ou,64,0,[]))),ll=p2(is(Xn,he(le(Mo,1),ou,64,0,[Mr]))),Ju=p2(is(sr,he(le(Mo,1),ou,64,0,[Zn]))),_0=p2(is(Xn,he(le(Mo,1),ou,64,0,[Zn]))),Rl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr]))),zh=p2(is(Mr,he(le(Mo,1),ou,64,0,[Zn]))),yf=p2(is(sr,he(le(Mo,1),ou,64,0,[Mr]))),jl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Zn]))),ul=p2(is(sr,he(le(Mo,1),ou,64,0,[Mr,Zn]))),hl=p2(is(Xn,he(le(Mo,1),ou,64,0,[Mr,Zn]))),Sl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Mr]))),Lu=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Mr,Zn])))}function oIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(t.Ug(Tyt,1),J=new mt,ot=new mt,T=new K(e.b);T.a0&&(Me-=z),Qke(f,Me),C=0,F=new K(f.a);F.a0),g.a.Xb(g.c=--g.b)),w=.4*r*C,!o&&g.b0&&(w=(Yn(0,t.length),t.charCodeAt(0)),w!=64)){if(w==37&&(L=t.lastIndexOf("%"),T=!1,L!=0&&(L==F-1||(T=(Yn(L+1,t.length),t.charCodeAt(L+1)==46))))){if(f=(Va(1,L,t.length),t.substr(1,L-1)),Me=wn("%",f)?null:cTe(f),r=0,T)try{r=Oh((Yn(L+2,t.length+1),t.substr(L+2)),ao,Ni)}catch($e){throw $e=ms($e),De($e,130)?(g=$e,ue(new uU(g))):ue($e)}for(te=P7e(e.Gh());te.Ob();)if(V=FU(te),De(V,519)&&(s=l(V,598),Ee=s.d,(Me==null?Ee==null:wn(Me,Ee))&&r--==0))return s;return null}if(C=t.lastIndexOf("."),z=C==-1?t:(Va(0,C,t.length),t.substr(0,C)),n=0,C!=-1)try{n=Oh((Yn(C+1,t.length+1),t.substr(C+1)),ao,Ni)}catch($e){if($e=ms($e),De($e,130))z=t;else throw ue($e)}for(z=wn("%",z)?null:cTe(z),J=P7e(e.Gh());J.Ob();)if(V=FU(J),De(V,197)&&(o=l(V,197),fe=o.xe(),(z==null?fe==null:wn(z,fe))&&n--==0))return o;return null}return fwt(e,t)}function pIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(C=new Nr,w=new Iw,r=new K(e.a.a.b);r.at.d.c){if(z=e.c[t.a.d],te=e.c[L.a.d],z==te)continue;g0(i0(r0(s0(n0(new _f,1),100),z),te))}}}}}function bIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;if(F=l(l($i(e.r,t),21),87),t==(_t(),sr)||t==Zn){ywt(e,t);return}for(o=t==Xn?(qw(),hB):(qw(),fB),$e=t==Xn?(al(),s1):(al(),v0),n=l(Zo(e.b,t),127),r=n.i,s=r.c+Q5(he(le(Oa,1),tc,28,15,[n.n.b,e.C.b,e.k])),fe=r.c+r.b-Q5(he(le(Oa,1),tc,28,15,[n.n.c,e.C.c,e.k])),f=k3e(R4e(o),e.t),Ee=t==Xn?oa:gs,L=F.Kc();L.Ob();)T=l(L.Pb(),117),!(!T.c||T.c.d.c.length<=0)&&(te=T.b.Mf(),J=T.e,z=T.c,V=z.i,V.b=(w=z.n,z.e.a+w.b+w.c),V.a=(g=z.n,z.e.b+g.d+g.a),ZO($e,RTe),z.f=$e,J0(z,(Ol(),m0)),V.c=J.a-(V.b-te.a)/2,Je=b.Math.min(s,J.a),ot=b.Math.max(fe,J.a+te.a),V.cot&&(V.c=ot-V.b),wt(f.d,new Vae(V,L8e(f,V))),Ee=t==Xn?b.Math.max(Ee,J.b+T.b.Mf().b):b.Math.min(Ee,J.b));for(Ee+=t==Xn?e.t:-e.t,Me=W8e((f.e=Ee,f)),Me>0&&(l(Zo(e.b,t),127).a.b=Me),C=F.Kc();C.Ob();)T=l(C.Pb(),117),!(!T.c||T.c.d.c.length<=0)&&(V=T.c.i,V.c-=T.e.a,V.d-=T.e.b)}function mIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(t=new Nr,w=new ar(e);w.e!=w.i.gc();){for(g=l(dr(w),27),n=new Ys,Ti(l1e,g,n),z=new Vp,s=l(kc(new vn(null,new Cw(new lr(fr(dP(g).a.Kc(),new j)))),Hst(z,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)])))),85),Tft(n,l(s.xc((Hn(),!0)),16),new J3),r=l(kc(ji(l(s.xc(!1),15).Lc(),new q9),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),f=r.Kc();f.Ob();)o=l(f.Pb(),74),F=Tpt(o),F&&(T=l(dc(zo(t.f,F)),21),T||(T=Gbt(F),Ru(t.f,F,T)),Ga(n,T));for(s=l(kc(new vn(null,new Cw(new lr(fr(fp(g).a.Kc(),new j)))),Hst(z,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc])))),85),Tft(n,l(s.xc(!0),16),new l5),r=l(kc(ji(l(s.xc(!1),15).Lc(),new Th),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),L=r.Kc();L.Ob();)C=l(L.Pb(),74),F=Ept(C),F&&(T=l(dc(zo(t.f,F)),21),T||(T=Gbt(F),Ru(t.f,F,T)),Ga(n,T))}}function vIn(e,t){Mle();var n,r,s,o,f,g,w,T,C,L,F,z,V,J;if(w=su(e,0)<0,w&&(e=f2(e)),su(e,0)==0)switch(t){case 0:return"0";case 1:return oE;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return z=new lb,t<0?z.a+="0E+":z.a+="0E",z.a+=t==ao?"2147483648":""+-t,z.a}C=18,L=We(xf,Ad,28,C+1,15,1),n=C,J=e;do T=J,J=tP(J,10),L[--n]=Yr(fo(48,Df(T,go(J,10))))&ta;while(su(J,0)!=0);if(s=Df(Df(Df(C,n),t),1),t==0)return w&&(L[--n]=45),If(L,n,C-n);if(t>0&&su(s,-6)>=0){if(su(s,0)>=0){for(o=n+Yr(s),g=C-1;g>=o;g--)L[g+1]=L[g];return L[++o]=46,w&&(L[--n]=45),If(L,n,C-n+1)}for(f=2;Sse(f,fo(f2(s),1));f++)L[--n]=48;return L[--n]=46,L[--n]=48,w&&(L[--n]=45),If(L,n,C-n)}return V=n+1,r=C,F=new A5,w&&(F.a+="-"),r-V>=1?(yb(F,L[n]),F.a+=".",F.a+=If(L,n+1,C-n-1)):F.a+=If(L,n,C-n),F.a+="E",su(s,0)>0&&(F.a+="+"),F.a+=""+X_(s),F.a}function Zw(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;if(te=new lt(e.g,e.f),J=E9e(e),J.a=b.Math.max(J.a,t),J.b=b.Math.max(J.b,n),ot=J.a/te.a,C=J.b/te.b,$e=J.a-te.a,w=J.b-te.b,r)for(f=ds(e)?l(at(ds(e),(bi(),Lv)),88):l(at(e,(bi(),Lv)),88),g=qe(at(e,(bi(),AM)))===qe((Pa(),Au)),Ee=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));Ee.e!=Ee.i.gc();)switch(fe=l(dr(Ee),123),Me=l(at(fe,o7),64),Me==(_t(),jc)&&(Me=zke(fe,f),Vi(fe,o7,Me)),Me.g){case 1:g||Vu(fe,fe.i*ot);break;case 2:Vu(fe,fe.i+$e),g||Gu(fe,fe.j*C);break;case 3:g||Vu(fe,fe.i*ot),Gu(fe,fe.j+w);break;case 4:g||Gu(fe,fe.j*C)}if(j5(e,J.a,J.b),s)for(F=new ar((!e.n&&(e.n=new nt(nc,e,1,7)),e.n));F.e!=F.i.gc();)L=l(dr(F),135),z=L.i+L.g/2,V=L.j+L.f/2,Je=z/te.a,T=V/te.b,Je+T>=1&&(Je-T>0&&V>=0?(Vu(L,L.i+$e),Gu(L,L.j+w*T)):Je-T<0&&z>=0&&(Vu(L,L.i+$e*Je),Gu(L,L.j+w)));return Vi(e,(bi(),Mv),(gh(),o=l(G0(FM),9),new Jh(o,l(o0(o,o.length),9),0))),new lt(ot,C)}function _wt(e){fw(e,new iv(Jz(uw(aw(cw(ow(new x1,df),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new hu),df))),pt(e,df,NG,It(jCt)),pt(e,df,t4,It($Ct)),pt(e,df,T6,It(PCt)),pt(e,df,Bx,It(BCt)),pt(e,df,Px,It(FCt)),pt(e,df,gE,It(NCt)),pt(e,df,dL,It(JIe)),pt(e,df,pE,It(RCt)),pt(e,df,jfe,It(fge)),pt(e,df,Rfe,It(dge)),pt(e,df,zG,It(eOe)),pt(e,df,$fe,It(gge)),pt(e,df,zfe,It(tOe)),pt(e,df,WCe,It(nOe)),pt(e,df,KCe,It(ZIe)),pt(e,df,HCe,It(YW)),pt(e,df,UCe,It(XW)),pt(e,df,VCe,It(VB)),pt(e,df,GCe,It(rOe)),pt(e,df,qCe,It(QIe))}function eG(e){var t,n,r,s,o,f,g,w,T,C,L;if(e==null)throw ue(new gd(cl));if(T=e,o=e.length,w=!1,o>0&&(t=(Yn(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Yn(1,e.length+1),e.substr(1)),--o,w=t==45)),o==0)throw ue(new gd(n3+T+'"'));for(;e.length>0&&(Yn(0,e.length),e.charCodeAt(0)==48);)e=(Yn(1,e.length+1),e.substr(1)),--o;if(o>(ivt(),G6t)[10])throw ue(new gd(n3+T+'"'));for(s=0;s0&&(L=-parseInt((Va(0,r,e.length),e.substr(0,r)),10),e=(Yn(r,e.length+1),e.substr(r)),o-=r,n=!1);o>=f;){if(r=parseInt((Va(0,f,e.length),e.substr(0,f)),10),e=(Yn(f,e.length+1),e.substr(f)),o-=f,n)n=!1;else{if(su(L,g)<0)throw ue(new gd(n3+T+'"'));L=go(L,C)}L=Df(L,r)}if(su(L,0)>0)throw ue(new gd(n3+T+'"'));if(!w&&(L=f2(L),su(L,0)<0))throw ue(new gd(n3+T+'"'));return L}function cTe(e){Ble();var t,n,r,s,o,f,g,w;if(e==null)return null;if(s=pd(e,ol(37)),s<0)return e;for(w=new Eh((Va(0,s,e.length),e.substr(0,s))),t=We(_l,_6,28,4,15,1),g=0,r=0,f=e.length;ss+2&&Dce((Yn(s+1,e.length),e.charCodeAt(s+1)),$Pe,zPe)&&Dce((Yn(s+2,e.length),e.charCodeAt(s+2)),$Pe,zPe))if(n=jdn((Yn(s+1,e.length),e.charCodeAt(s+1)),(Yn(s+2,e.length),e.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?t[g++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(t[g++]=n<<24>>24,r=2):(n&240)==224?(t[g++]=n<<24>>24,r=3):(n&248)==240&&(t[g++]=n<<24>>24,r=4)),r>0){if(g==r){switch(g){case 2:{yb(w,((t[0]&31)<<6|t[1]&63)&ta);break}case 3:{yb(w,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&ta);break}}g=0,r=0}}else{for(o=0;o=2){if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)n=(fb(),s=new sk,s),zr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),n);else if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i>1)for(F=new H8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));F.e!=F.i.gc();)$A(F);xP(t,l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166))}if(L)for(r=new ar((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));r.e!=r.i.gc();)for(n=l(dr(r),166),T=new ar((!n.a&&(n.a=new Qs(qh,n,5)),n.a));T.e!=T.i.gc();)w=l(dr(T),377),g.a=b.Math.max(g.a,w.a),g.b=b.Math.max(g.b,w.b);for(f=new ar((!e.n&&(e.n=new nt(nc,e,1,7)),e.n));f.e!=f.i.gc();)o=l(dr(f),135),C=l(at(o,DM),8),C&&Xh(o,C.a,C.b),L&&(g.a=b.Math.max(g.a,o.i+o.g),g.b=b.Math.max(g.b,o.j+o.f));return g}function Lwt(e,t,n,r,s){var o,f,g;if(Mht(e,t),f=t[0],o=io(n.c,0),g=-1,s8e(n))if(r>0){if(f+r>e.length)return!1;g=LV((Va(0,f+r,e.length),e.substr(0,f+r)),t)}else g=LV(e,t);switch(o){case 71:return g=u6(e,f,he(le($t,1),dt,2,6,[g3t,p3t]),t),s.e=g,!0;case 77:return NSn(e,t,s,g,f);case 76:return PSn(e,t,s,g,f);case 69:return Skn(e,t,f,s);case 99:return _kn(e,t,f,s);case 97:return g=u6(e,f,he(le($t,1),dt,2,6,["AM","PM"]),t),s.b=g,!0;case 121:return BSn(e,t,f,g,n,s);case 100:return g<=0?!1:(s.c=g,!0);case 83:return g<0?!1:q5n(g,f,t[0],s);case 104:g==12&&(g=0);case 75:case 72:return g<0?!1:(s.f=g,s.g=!1,!0);case 107:return g<0?!1:(s.f=g,s.g=!0,!0);case 109:return g<0?!1:(s.j=g,!0);case 115:return g<0?!1:(s.n=g,!0);case 90:if(fln[w]&&(te=w),L=new K(e.a.b);L.a1;){if(s=_Cn(t),L=o.g,V=l(at(t,wM),107),J=ze(Ge(at(t,eY))),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i>1&&ze(Ge(at(t,(fg(),kge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))1&&ze(Ge(at(t,(fg(),xge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))>J&&Vi(s,(fg(),_4),b.Math.max(ze(Ge(at(t,vM))),ze(Ge(at(s,_4)))-ze(Ge(at(t,xge))))),z=new pye(r,C),w=Ywt(z,s,F),T=w.g,T>=L&&T==T){for(f=0;f<(!s.a&&(s.a=new nt(Li,s,10,11)),s.a).i;f++)k2t(e,l(Oe((!s.a&&(s.a=new nt(Li,s,10,11)),s.a),f),27),l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),f),27));nft(t,z),D2n(o,w.c),M2n(o,w.b)}--g}Vi(t,(fg(),tC),o.b),Vi(t,e9,o.c),n.Vg()}function kIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(t.Ug("Interactive node layering",1),n=new mt,F=new K(e.a);F.a=g){br(Ee.b>0),Ee.a.Xb(Ee.c=--Ee.b);break}else te.a>w&&(r?(aa(r.b,te.b),r.a=b.Math.max(r.a,te.a),fh(Ee)):(wt(te.b,C),te.c=b.Math.min(te.c,w),te.a=b.Math.max(te.a,g),r=te));r||(r=new kJe,r.c=w,r.a=g,wy(Ee,r),wt(r.b,C))}for(f=e.b,T=0,fe=new K(n);fe.az&&(o&&(yo(ot,F),yo(ln,bt(T.b-1))),ai=n.b,ys+=F+t,F=0,C=b.Math.max(C,n.b+n.c+cr)),Vu(g,ai),Gu(g,ys),C=b.Math.max(C,ai+cr+n.c),F=b.Math.max(F,L),ai+=cr+t;if(C=b.Math.max(C,r),$n=ys+F+n.a,$nDd,cn=b.Math.abs(F.b-V.b)>Dd,(!n&&ln&&cn||n&&(ln||cn))&&ci(te.a,$e)),Ga(te.a,r),r.b==0?F=$e:F=(br(r.b!=0),l(r.c.b.c,8)),cyn(z,L,J),t0t(s)==At&&(Ja(At.i)!=s.a&&(J=new za,y9e(J,Ja(At.i),Ee)),rt(te,ude,J)),U9n(z,te,Ee),C.a.zc(z,C);ho(te,Je),Na(te,At)}for(T=C.a.ec().Kc();T.Ob();)w=l(T.Pb(),18),ho(w,null),Na(w,null);t.Vg()}function CIn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(s=l(Q(e,(Vc(),_3)),88),C=s==(ea(),hc)||s==yc?Q1:yc,n=l(kc(ji(new vn(null,new kn(e.b,16)),new TI),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),w=l(kc(gc(n.Oc(),new HXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),w.Gc(l(kc(gc(n.Oc(),new UXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),16)),w.jd(new VXe(C)),F=new n2(new GXe(s)),r=new Nr,g=w.Kc();g.Ob();)f=l(g.Pb(),240),T=l(f.a,40),Ft(Pt(f.c))?(F.a.zc(T,(Hn(),Ub))==null,new wa(F.a.Zc(T,!1)).a.gc()>0&&Ti(r,T,l(new wa(F.a.Zc(T,!1)).a.Vc(),40)),new wa(F.a.ad(T,!0)).a.gc()>1&&Ti(r,sdt(F,T),T)):(new wa(F.a.Zc(T,!1)).a.gc()>0&&(o=l(new wa(F.a.Zc(T,!1)).a.Vc(),40),qe(o)===qe(dc(zo(r.f,T)))&&l(Q(T,(Zi(),Kde)),15).Fc(o)),new wa(F.a.ad(T,!0)).a.gc()>1&&(L=sdt(F,T),qe(dc(zo(r.f,L)))===qe(T)&&l(Q(L,(Zi(),Kde)),15).Fc(T)),F.a.Bc(T)!=null)}function Mwt(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(e.gc()==1)return l(e.Xb(0),235);if(e.gc()<=0)return new eU;for(s=e.Kc();s.Ob();){for(n=l(s.Pb(),235),V=0,C=Ni,L=Ni,w=ao,T=ao,z=new K(n.e);z.ag&&(Me=0,$e+=f+fe,f=0),J_n(J,n,Me,$e),t=b.Math.max(t,Me+te.a),f=b.Math.max(f,te.b),Me+=te.a+fe;return J}function SIn(e){$ke();var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(e==null||(o=hU(e),V=e5n(o),V%4!=0))return null;if(J=V/4|0,J==0)return We(_l,_6,28,0,15,1);for(L=null,t=0,n=0,r=0,s=0,f=0,g=0,w=0,T=0,z=0,F=0,C=0,L=We(_l,_6,28,J*3,15,1);z>4)<<24>>24,L[F++]=((n&15)<<4|r>>2&15)<<24>>24,L[F++]=(r<<6|s)<<24>>24}return!cO(f=o[C++])||!cO(g=o[C++])?null:(t=nd[f],n=nd[g],w=o[C++],T=o[C++],nd[w]==-1||nd[T]==-1?w==61&&T==61?n&15?null:(te=We(_l,_6,28,z*3+1,15,1),gu(L,0,te,0,z*3),te[F]=(t<<2|n>>4)<<24>>24,te):w!=61&&T==61?(r=nd[w],r&3?null:(te=We(_l,_6,28,z*3+2,15,1),gu(L,0,te,0,z*3),te[F++]=(t<<2|n>>4)<<24>>24,te[F]=((n&15)<<4|r>>2&15)<<24>>24,te)):null:(r=nd[w],s=nd[T],L[F++]=(t<<2|n>>4)<<24>>24,L[F++]=((n&15)<<4|r>>2&15)<<24>>24,L[F++]=(r<<6|s)<<24>>24,L))}function _In(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;for(t.Ug(Tyt,1),V=l(Q(e,(Nt(),yp)),223),s=new K(e.b);s.a=2){for(J=!0,F=new K(o.j),n=l(re(F),12),z=null;F.a0)if(r=L.gc(),T=da(b.Math.floor((r+1)/2))-1,s=da(b.Math.ceil((r+1)/2))-1,t.o==Y1)for(C=s;C>=T;C--)t.a[$e.p]==$e&&(J=l(L.Xb(C),42),V=l(J.a,10),!K0(n,J.b)&&z>e.b.e[V.p]&&(t.a[V.p]=$e,t.g[$e.p]=t.g[V.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Hn(),!!(Ft(t.f[t.g[$e.p].p])&$e.k==(Jn(),Aa))),z=e.b.e[V.p]));else for(C=T;C<=s;C++)t.a[$e.p]==$e&&(fe=l(L.Xb(C),42),te=l(fe.a,10),!K0(n,fe.b)&&z0&&(s=l(Rt(te.c.a,ot-1),10),f=e.i[s.p],ln=b.Math.ceil(z5(e.n,s,te)),o=Je.a.e-te.d.d-(f.a.e+s.o.b+s.d.a)-ln),T=gs,ot0&&At.a.e.e-At.a.a-(At.b.e.e-At.b.a)<0,V=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)<0&&At.a.e.e-At.a.a-(At.b.e.e-At.b.a)>0,z=Me.a.e.e+Me.b.aAt.b.e.e+At.a.a,$e=0,!J&&!V&&(F?o+L>0?$e=L:T-r>0&&($e=r):z&&(o+g>0?$e=g:T-Ee>0&&($e=Ee))),Je.a.e+=$e,Je.b&&(Je.d.e+=$e),!1))}function Iwt(e,t,n){var r,s,o,f,g,w,T,C,L,F;if(r=new Zh(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),s=new z8,e.c)for(f=new K(t.Rf());f.aT&&(r.a+=art(We(xf,Ad,28,-T,15,1))),r.a+="Is",pd(w,ol(32))>=0)for(s=0;s=r.o.b/2}else Ee=!L;Ee?(fe=l(Q(r,(ft(),Jx)),15),fe?F?o=fe:(s=l(Q(r,Kx),15),s?fe.gc()<=s.gc()?o=fe:o=s:(o=new mt,rt(r,Kx,o))):(o=new mt,rt(r,Jx,o))):(s=l(Q(r,(ft(),Kx)),15),s?L?o=s:(fe=l(Q(r,Jx),15),fe?s.gc()<=fe.gc()?o=s:o=fe:(o=new mt,rt(r,Jx,o))):(o=new mt,rt(r,Kx,o))),o.Fc(e),rt(e,(ft(),lW),n),t.d==n?(Na(t,null),n.e.c.length+n.g.c.length==0&&Nc(n,null),Vyn(n)):(ho(t,null),n.e.c.length+n.g.c.length==0&&Nc(n,null)),Ch(t.a)}function DIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(n.Ug("MinWidth layering",1),z=t.b,At=t.a,ys=l(Q(t,(Nt(),sDe)),17).a,g=l(Q(t,aDe),17).a,e.b=ze(Ge(Q(t,y0))),e.d=gs,$e=new K(At);$e.a<$e.c.c.length;)Ee=l(re($e),10),Ee.k==(Jn(),Bs)&&(Fn=Ee.o.b,e.d=b.Math.min(e.d,Fn));for(e.d=b.Math.max(1,e.d),ln=At.c.length,e.c=We(Ur,fi,28,ln,15,1),e.f=We(Ur,fi,28,ln,15,1),e.e=We(Oa,tc,28,ln,15,1),T=0,e.a=0,Je=new K(At);Je.a0?(T=0,te&&(T+=g),T+=(cn-1)*f,Me&&(T+=g),ln&&Me&&(T=b.Math.max(T,QCn(Me,f,Ee,At))),T=e.a&&(r=dLn(e,Ee),C=b.Math.max(C,r.b),$e=b.Math.max($e,r.d),wt(g,new fa(Ee,r)));for(ln=new mt,T=0;T0),te.a.Xb(te.c=--te.b),cn=new vu(e.b),wy(te,cn),br(te.b0){for(F=C<100?null:new hb(C),T=new q7e(t),V=T.g,fe=We(Ur,fi,28,C,15,1),r=0,$e=new Bw(C),s=0;s=0;)if(z!=null?Fi(z,V[w]):qe(z)===qe(V[w])){fe.length<=r&&(te=fe,fe=We(Ur,fi,28,2*fe.length,15,1),gu(te,0,fe,0,r)),fe[r++]=s,zr($e,V[w]);break e}if(z=z,qe(z)===qe(g))break}}if(T=$e,V=$e.g,C=r,r>fe.length&&(te=fe,fe=We(Ur,fi,28,r,15,1),gu(te,0,fe,0,r)),r>0){for(Me=!0,o=0;o=0;)wx(e,fe[f]);if(r!=C){for(s=C;--s>=r;)wx(T,s);te=fe,fe=We(Ur,fi,28,r,15,1),gu(te,0,fe,0,r)}t=T}}}else for(t=W7n(e,t),s=e.i;--s>=0;)t.Hc(e.g[s])&&(wx(e,s),Me=!0);if(Me){if(fe!=null){for(n=t.gc(),L=n==1?iA(e,4,t.Kc().Pb(),null,fe[0],J):iA(e,6,t,fe,fe[0],J),F=n<100?null:new hb(n),s=t.Kc();s.Ob();)z=s.Pb(),F=D4e(e,l(z,76),F);F?(F.nj(L),F.oj()):Bi(e.e,L)}else{for(F=e0n(t.gc()),s=t.Kc();s.Ob();)z=s.Pb(),F=D4e(e,l(z,76),F);F&&F.oj()}return!0}else return!1}function NIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(n=new Qdt(t),n.a||uAn(t),T=a_n(t),w=new Iw,te=new Zbt,J=new K(t.a);J.a0||n.o==Y1&&s=n}function BIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;for(Me=t,Ee=new Iw,$e=new Iw,C=Pw(Me,MSe),r=new aot(e,n,Ee,$e),nkn(r.a,r.b,r.c,r.d,C),w=(At=Ee.i,At||(Ee.i=new U5(Ee,Ee.c))),cn=w.Kc();cn.Ob();)for(ln=l(cn.Pb(),166),s=l($i(Ee,ln),21),J=s.Kc();J.Ob();)if(V=J.Pb(),Je=l(J5(e.d,V),166),Je)g=(!ln.e&&(ln.e=new An(cs,ln,10,9)),ln.e),zr(g,Je);else throw f=Zg(Me,Pd),F=X4t+V+Q4t+f,z=F+EE,ue(new dd(z));for(T=(ot=$e.i,ot||($e.i=new U5($e,$e.c))),$n=T.Kc();$n.Ob();)for(Fn=l($n.Pb(),166),o=l($i($e,Fn),21),fe=o.Kc();fe.Ob();)if(te=fe.Pb(),Je=l(J5(e.d,te),166),Je)L=(!Fn.g&&(Fn.g=new An(cs,Fn,9,10)),Fn.g),zr(L,Je);else throw f=Zg(Me,Pd),F=X4t+te+Q4t+f,z=F+EE,ue(new dd(z));!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new nt(cs,n,6,6)),n.a).i==1&&(cr=l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166),!yue(cr)&&!xue(cr)&&(SU(cr,l(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),84)),_U(cr,l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84))))}function FIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Me=e.a,$e=0,Je=Me.length;$e0?(L=l(Rt(F.c.a,f-1),10),ln=z5(e.b,F,L),te=F.n.b-F.d.d-(L.n.b+L.o.b+L.d.a+ln)):te=F.n.b-F.d.d,T=b.Math.min(te,T),f1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,1),8).b-C.b)))));else for(J=new K(t.j);J.as&&(o=F.a-s,f=Ni,r.c.length=0,s=F.a),F.a>=s&&(qn(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,g.a.b-2),8).b-F.b)))));if(r.c.length!=0&&o>t.o.a/2&&f>t.o.b/2){for(z=new du,Nc(z,t),ga(z,(_t(),Xn)),z.n.a=t.o.a/2,fe=new du,Nc(fe,t),ga(fe,Mr),fe.n.a=t.o.a/2,fe.n.b=t.o.b,w=new K(r);w.a=T.b?ho(g,fe):ho(g,z)):(T=l(Adn(g.a),8),te=g.a.b==0?I1(g.c):l(a0(g.a),8),te.b>=T.b?Na(g,fe):Na(g,z)),L=l(Q(g,(Nt(),lc)),75),L&&Fy(L,T,!0);t.n.a=s-t.o.a/2}}function jIn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(g=Fr(e.b,0);g.b!=g.d.c;)if(f=l(Pr(g),40),!wn(f.c,RG))for(T=lEn(f,e),t==(ea(),hc)||t==yc?Gs(T,new gne):Gs(T,new pne),w=T.c.length,r=0;r=0?z=px(g):z=UN(px(g)),e.qf(GE,z)),T=new za,F=!1,e.pf(k3)?(t4e(T,l(e.of(k3),8)),F=!0):Yhn(T,f.a/2,f.b/2),z.g){case 4:rt(C,Qu,(lf(),Yb)),rt(C,fW,(Jm(),F6)),C.o.b=f.b,J<0&&(C.o.a=-J),ga(L,(_t(),sr)),F||(T.a=f.a),T.a-=f.a;break;case 2:rt(C,Qu,(lf(),b4)),rt(C,fW,(Jm(),jE)),C.o.b=f.b,J<0&&(C.o.a=-J),ga(L,(_t(),Zn)),F||(T.a=0);break;case 1:rt(C,wv,(ip(),j6)),C.o.a=f.a,J<0&&(C.o.b=-J),ga(L,(_t(),Mr)),F||(T.b=f.b),T.b-=f.b;break;case 3:rt(C,wv,(ip(),Gx)),C.o.a=f.a,J<0&&(C.o.b=-J),ga(L,(_t(),Xn)),F||(T.b=0)}if(t4e(L.n,T),rt(C,k3,T),t==Iv||t==_g||t==Au){if(V=0,t==Iv&&e.pf(D2))switch(z.g){case 1:case 2:V=l(e.of(D2),17).a;break;case 3:case 4:V=-l(e.of(D2),17).a}else switch(z.g){case 4:case 2:V=o.b,t==_g&&(V/=s.b);break;case 1:case 3:V=o.a,t==_g&&(V/=s.a)}rt(C,m3,V)}return rt(C,Xc,z),C}function $In(){S3e();function e(r){var s=this;this.dispatch=function(o){var f=o.data;switch(f.cmd){case"algorithms":var g=K8e((Cn(),new ja(new pi(am.b))));r.postMessage({id:f.id,data:g});break;case"categories":var w=K8e((Cn(),new ja(new pi(am.c))));r.postMessage({id:f.id,data:w});break;case"options":var T=K8e((Cn(),new ja(new pi(am.d))));r.postMessage({id:f.id,data:T});break;case"register":HMn(f.algorithms),r.postMessage({id:f.id});break;case"layout":vLn(f.graph,f.layoutOptions||{},f.options||{}),r.postMessage({id:f.id,data:f.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(f){r.postMessage({id:o.data.id,error:f})}}}function t(r){var s=this;this.dispatcher=new e({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===Ahe&&typeof self!==Ahe){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==Ahe&&d.exports&&(Object.defineProperty(p,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function Rwt(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=new hp(n),mc(C,t),rt(C,(ft(),zi),t),C.o.a=t.g,C.o.b=t.f,C.n.a=t.i,C.n.b=t.j,wt(n.a,C),Ti(e.a,t,C),((!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i!=0||Ft(Pt(at(t,(Nt(),w4)))))&&rt(C,tMe,(Hn(),!0)),T=l(Q(n,_u),21),L=l(Q(C,(Nt(),Ds)),101),L==(Pa(),rm)?rt(C,Ds,Z1):L!=Z1&&T.Fc((Ho(),qE)),F=0,r=l(Q(n,Rh),88),w=new ar((!t.c&&(t.c=new nt($l,t,9,9)),t.c));w.e!=w.i.gc();)g=l(dr(w),123),s=ds(t),(qe(at(s,Tg))!==qe((Td(),I2))||qe(at(s,xv))===qe((w2(),RE))||qe(at(s,xv))===qe((w2(),FE))||Ft(Pt(at(s,w3)))||qe(at(s,m4))!==qe((tv(),h4))||qe(at(s,Xb))===qe((Nf(),C3))||qe(at(s,Xb))===qe((Nf(),E4))||qe(at(s,Tv))===qe((E2(),XE))||qe(at(s,Tv))===qe((E2(),QE)))&&!Ft(Pt(at(t,wW)))&&Vi(g,Yi,bt(F++)),Ft(Pt(at(g,Cv)))||XDn(e,g,C,T,r,L);for(f=new ar((!t.n&&(t.n=new nt(nc,t,1,7)),t.n));f.e!=f.i.gc();)o=l(dr(f),135),!Ft(Pt(at(o,Cv)))&&o.a&&wt(C.b,Kce(o));return Ft(Pt(Q(C,JL)))&&T.Fc((Ho(),oW)),Ft(Pt(Q(C,TW)))&&(T.Fc((Ho(),cW)),T.Fc(GL),rt(C,Ds,Z1)),C}function Hle(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(J=0,Fn=0,T=new K(e.b);T.aJ&&(o&&(yo(ot,z),yo(ln,bt(C.b-1)),wt(e.d,V),g.c.length=0),ai=n.b,ys+=z+t,z=0,L=b.Math.max(L,n.b+n.c+cr)),qn(g.c,w),Hdt(w,ai,ys),L=b.Math.max(L,ai+cr+n.c),z=b.Math.max(z,F),ai+=cr+t,V=w;if(aa(e.a,g),wt(e.d,l(Rt(g,g.c.length-1),163)),L=b.Math.max(L,r),$n=ys+z+n.a,$ns.d.d+s.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(t=n);C&&(o=l(or(e.f,f.d.i),60),t.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(g=new lr(fr(Ea(z).a.Kc(),new j));Rr(g);)f=l(yr(g),18),f.a.b!=0&&(t=l(a0(f.a),8),f.d.j==(_t(),Xn)&&(te=new JA(t,new lt(t.a,s.d.d),s,f),te.f.a=!0,te.a=f.d,qn(J.c,te)),f.d.j==Mr&&(te=new JA(t,new lt(t.a,s.d.d+s.d.a),s,f),te.f.d=!0,te.a=f.d,qn(J.c,te)))}return J}function GIn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(w=new mt,L=t.length,f=i8e(n),T=0;T=V&&(Ee>V&&(z.c.length=0,V=Ee),qn(z.c,f));z.c.length!=0&&(F=l(Rt(z,dV(t,z.c.length)),131),$n.a.Bc(F)!=null,F.s=J++,nke(F,cn,ot),z.c.length=0)}for($e=e.c.length+1,g=new K(e);g.aFn.s&&(fh(n),sl(Fn.i,r),r.c>0&&(r.a=Fn,wt(Fn.t,r),r.b=At,wt(At.i,r)))}function jwt(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n;for(J=new Pu(t.b),$e=new Pu(t.b),F=new Pu(t.b),ln=new Pu(t.b),te=new Pu(t.b),At=Fr(t,0);At.b!=At.d.c;)for(Je=l(Pr(At),12),g=new K(Je.g);g.a0,fe=Je.g.c.length>0,T&&fe?qn(F.c,Je):T?qn(J.c,Je):fe&&qn($e.c,Je);for(V=new K(J);V.aEe.nh()-T.b&&(F=Ee.nh()-T.b),z>Ee.oh()-T.d&&(z=Ee.oh()-T.d),C0){for(Me=Fr(e.f,0);Me.b!=Me.d.c;)Ee=l(Pr(Me),10),Ee.p+=F-e.e;x9e(e),Ch(e.f),bke(e,r,z)}else{for(ci(e.f,z),z.p=r,e.e=b.Math.max(e.e,r),o=new lr(fr(Ea(z).a.Kc(),new j));Rr(o);)s=l(yr(o),18),!s.c.i.c&&s.c.i.k==(Jn(),uu)&&(ci(e.f,s.c.i),s.c.i.p=r-1);e.c=r}else x9e(e),Ch(e.f),r=0,Rr(new lr(fr(Ea(z).a.Kc(),new j)))?(F=0,F=Wdt(F,z),r=F+2,bke(e,r,z)):(ci(e.f,z),z.p=0,e.e=b.Math.max(e.e,0),e.b=l(Rt(e.d.b,0),30),e.c=0);for(e.f.b==0||x9e(e),e.d.a.c.length=0,fe=new mt,T=new K(e.d.b);T.a=48&&t<=57){for(r=t-48;s=48&&t<=57;)if(r=r*10+t-48,r<0)throw ue(new ri(si((Jr(),HSe))))}else throw ue(new ri(si((Jr(),T5t))));if(n=r,t==44){if(s>=e.j)throw ue(new ri(si((Jr(),C5t))));if((t=io(e.i,s++))>=48&&t<=57){for(n=t-48;s=48&&t<=57;)if(n=n*10+t-48,n<0)throw ue(new ri(si((Jr(),HSe))));if(r>n)throw ue(new ri(si((Jr(),S5t))))}else n=-1}if(t!=125)throw ue(new ri(si((Jr(),E5t))));e.bm(s)?(o=(Ii(),Ii(),new _y(9,o)),e.d=s+1):(o=(Ii(),Ii(),new _y(3,o)),e.d=s),o.Om(r),o.Nm(n),Mi(e)}}return o}function JIn(e){var t,n,r,s,o;switch(n=l(Q(e,(ft(),_u)),21),t=$q(W8t),s=l(Q(e,(Nt(),v4)),346),s==(op(),F2)&&Dh(t,Y8t),Ft(Pt(Q(e,vde)))?hi(t,(so(),w0),(po(),_1e)):hi(t,(so(),pu),(po(),_1e)),Q(e,(iU(),TM))!=null&&Dh(t,X8t),(Ft(Pt(Q(e,nDe)))||Ft(Pt(Q(e,JMe))))&&wl(t,(so(),wc),(po(),QAe)),l(Q(e,Rh),88).g){case 2:case 3:case 4:wl(hi(t,(so(),w0),(po(),ZAe)),wc,JAe)}switch(n.Hc((Ho(),oW))&&wl(hi(hi(t,(so(),w0),(po(),XAe)),Cu,WAe),wc,YAe),qe(Q(e,Xb))!==qe((Nf(),PW))&&hi(t,(so(),pu),(po(),gLe)),n.Hc(uW)&&(hi(t,(so(),w0),(po(),vLe)),hi(t,xg,bLe),hi(t,pu,mLe)),qe(Q(e,mW))!==qe((HT(),VL))&&qe(Q(e,yp))!==qe((cp(),aF))&&wl(t,(so(),wc),(po(),cLe)),Ft(Pt(Q(e,eDe)))&&hi(t,(so(),pu),(po(),oLe)),Ft(Pt(Q(e,gde)))&&hi(t,(so(),pu),(po(),wLe)),hCn(e)&&(qe(Q(e,v4))===qe(F2)?r=l(Q(e,IB),299):r=l(Q(e,dde),299),o=r==(yT(),J1e)?(po(),pLe):(po(),kLe),hi(t,(so(),Cu),o)),l(Q(e,ADe),388).g){case 1:hi(t,(so(),Cu),(po(),yLe));break;case 2:wl(hi(hi(t,(so(),pu),(po(),UAe)),Cu,VAe),wc,GAe)}return qe(Q(e,Tg))!==qe((Td(),I2))&&hi(t,(so(),pu),(po(),xLe)),t}function Hwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;if(Hu(e.a,t)){if(K0(l(or(e.a,t),49),n))return 1}else Ti(e.a,t,new Ys);if(Hu(e.a,n)){if(K0(l(or(e.a,n),49),t))return-1}else Ti(e.a,n,new Ys);if(Hu(e.e,t)){if(K0(l(or(e.e,t),49),n))return-1}else Ti(e.e,t,new Ys);if(Hu(e.e,n)){if(K0(l(or(e.a,n),49),t))return 1}else Ti(e.e,n,new Ys);if(e.c==(Td(),Nde)||!rs(t,(ft(),Yi))||!rs(n,(ft(),Yi))){for(L=null,T=new K(t.j);T.af?XT(e,t,n):XT(e,n,t),sf?1:0}return r=l(Q(t,(ft(),Yi)),17).a,o=l(Q(n,Yi),17).a,r>o?XT(e,t,n):XT(e,n,t),ro?1:0}function e3(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(n==null)return null;if(e.a!=t.jk())throw ue(new Wn(kE+t.xe()+c3));if(De(t,469)){if(te=HSn(l(t,685),n),!te)throw ue(new Wn(t0e+n+"' is not a valid enumerator of '"+t.xe()+"'"));return te}switch(b2((kl(),no),t).Nl()){case 2:{n=ku(n,!1);break}case 3:{n=ku(n,!0);break}}if(r=b2(no,t).Jl(),r)return r.jk().wi().ti(r,n);if(F=b2(no,t).Ll(),F){for(te=new mt,T=Rce(n),C=0,L=T.length;C1)for(V=new H8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));V.e!=V.i.gc();)$A(V);for(f=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),te=ai,ai>Je+$e?te=Je+$e:aiot+J?fe=ot+J:ysJe-$e&&teot-J&&feai+cr?ln=ai+cr:Jeys+At?cn=ys+At:otai-cr&&lnys-At&&cnn&&(F=n-1),z=U2+Yl(t,24)*RP*L-L/2,z<0?z=1:z>r&&(z=r-1),s=(fb(),w=new LS,w),yU(s,F),wU(s,z),zr((!f.a&&(f.a=new Qs(qh,f,5)),f.a),s)}function Uwt(e){fw(e,new iv(uw(aw(cw(ow(new x1,Jl),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new u8))),pt(e,Jl,Nx,1.3),pt(e,Jl,dE,(Hn(),!1)),pt(e,Jl,r3,kOe),pt(e,Jl,t4,15),pt(e,Jl,OG,It(oSt)),pt(e,Jl,T6,It(lSt)),pt(e,Jl,Bx,It(fSt)),pt(e,Jl,Px,It(dSt)),pt(e,Jl,gE,It(uSt)),pt(e,Jl,dL,It(Ege)),pt(e,Jl,pE,It(gSt)),pt(e,Jl,rSe,It(SOe)),pt(e,Jl,iSe,It(COe)),pt(e,Jl,nSe,It(Sge)),pt(e,Jl,tSe,It(_Oe)),pt(e,Jl,sSe,It(xOe)),pt(e,Jl,aSe,It(Cge)),pt(e,Jl,oSe,It(yOe)),pt(e,Jl,cSe,It(EOe)),pt(e,Jl,fL,It(wOe)),pt(e,Jl,PG,It(cSt)),pt(e,Jl,ZCe,It(KB)),pt(e,Jl,JCe,It(vOe)),pt(e,Jl,eSe,It(WB)),pt(e,Jl,QCe,It(TOe))}function Vle(e,t){Mle();var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai;if(ln=e.e,V=e.d,s=e.a,ln==0)switch(t){case 0:return"0";case 1:return oE;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ot=new lb,t<0?ot.a+="0E+":ot.a+="0E",ot.a+=-t,ot.a}if(Me=V*10+1+7,$e=We(xf,Ad,28,Me+1,15,1),n=Me,V==1)if(g=s[0],g<0){ai=xa(g,Uo);do J=ai,ai=tP(ai,10),$e[--n]=48+Yr(Df(J,go(ai,10)))&ta;while(su(ai,0)!=0)}else{ai=g;do J=ai,ai=ai/10|0,$e[--n]=48+(J-ai*10)&ta;while(ai!=0)}else{Fn=We(Ur,fi,28,V,15,1),cr=V,gu(s,0,Fn,0,cr);e:for(;;){for(At=0,T=cr-1;T>=0;T--)$n=fo(u0(At,32),xa(Fn[T],Uo)),fe=zxn($n),Fn[T]=Yr(fe),At=Yr(Tw(fe,32));Ee=Yr(At),te=n;do $e[--n]=48+Ee%10&ta;while((Ee=Ee/10|0)!=0&&n!=0);for(r=9-te+n,w=0;w0;w++)$e[--n]=48;for(L=cr-1;Fn[L]==0;L--)if(L==0)break e;cr=L+1}for(;$e[n]==48;)++n}if(z=ln<0,f=Me-n-t-1,t==0)return z&&($e[--n]=45),If($e,n,Me-n);if(t>0&&f>=-6){if(f>=0){for(C=n+f,F=Me-1;F>=C;F--)$e[F+1]=$e[F];return $e[++C]=46,z&&($e[--n]=45),If($e,n,Me-n+1)}for(L=2;L<-f+1;L++)$e[--n]=48;return $e[--n]=46,$e[--n]=48,z&&($e[--n]=45),If($e,n,Me-n)}return cn=n+1,o=Me,Je=new A5,z&&(Je.a+="-"),o-cn>=1?(yb(Je,$e[n]),Je.a+=".",Je.a+=If($e,n+1,Me-n-1)):Je.a+=If($e,n,Me-n),Je.a+="E",f>0&&(Je.a+="+"),Je.a+=""+f,Je.a}function Vwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;switch(e.c=t,e.g=new Nr,n=(dw(),new sw(e.c)),r=new t_(n),U8e(r),Me=Zr(at(e.c,(rP(),GOe))),w=l(at(e.c,Bge),324),Je=l(at(e.c,Fge),437),f=l(at(e.c,HOe),490),$e=l(at(e.c,Pge),438),e.j=ze(Ge(at(e.c,ASt))),g=e.a,w.g){case 0:g=e.a;break;case 1:g=e.b;break;case 2:g=e.i;break;case 3:g=e.e;break;case 4:g=e.f;break;default:throw ue(new Wn(UG+(w.f!=null?w.f:""+w.g)))}if(e.d=new Rot(g,Je,f),rt(e.d,(mT(),$L),Pt(at(e.c,SSt))),e.d.c=Ft(Pt(at(e.c,UOe))),PH(e.c).i==0)return e.d;for(L=new ar(PH(e.c));L.e!=L.i.gc();){for(C=l(dr(L),27),z=C.g/2,F=C.f/2,ot=new lt(C.i+z,C.j+F);Hu(e.g,ot);)yw(ot,(b.Math.random()-.5)*Dd,(b.Math.random()-.5)*Dd);J=l(at(C,(bi(),rC)),140),te=new Jot(ot,new Zh(ot.a-z-e.j/2-J.b,ot.b-F-e.j/2-J.d,C.g+e.j+(J.b+J.c),C.f+e.j+(J.d+J.a))),wt(e.d.i,te),Ti(e.g,ot,new fa(te,C))}switch($e.g){case 0:if(Me==null)e.d.d=l(Rt(e.d.i,0),68);else for(Ee=new K(e.d.i);Ee.a0?cr+1:1);for(f=new K(ot.g);f.a0?cr+1:1)}e.c[T]==0?ci(e.e,J):e.a[T]==0&&ci(e.f,J),++T}for(V=-1,z=1,L=new mt,e.d=l(Q(t,(ft(),Qx)),234);Hh>0;){for(;e.e.b!=0;)ys=l(Bae(e.e),10),e.b[ys.p]=V--,Oke(e,ys),--Hh;for(;e.f.b!=0;)zl=l(Bae(e.f),10),e.b[zl.p]=z++,Oke(e,zl),--Hh;if(Hh>0){for(F=ao,Ee=new K(Me);Ee.a=F&&($e>F&&(L.c.length=0,F=$e),qn(L.c,J)));C=e.sg(L),e.b[C.p]=z++,Oke(e,C),--Hh}}for(ai=Me.c.length+1,T=0;Te.b[fc]&&(Jw(r,!0),rt(t,AB,(Hn(),!0)));e.a=null,e.c=null,e.b=null,Ch(e.f),Ch(e.e),n.Vg()}function Gwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;for(Je=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),C=new pl,$e=new Nr,ot=tvt(Je),Ru($e.f,Je,ot),F=new Nr,r=new os,V=ag(Lh(he(le(Fh,1),jn,20,0,[(!t.d&&(t.d=new An(js,t,8,5)),t.d),(!t.e&&(t.e=new An(js,t,7,4)),t.e)])));Rr(V);){if(z=l(yr(V),74),(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Wn(I4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));z!=e&&(te=l(Oe((!z.a&&(z.a=new nt(cs,z,6,6)),z.a),0),166),_s(r,te,r.c.b,r.c),J=l(dc(zo($e.f,te)),13),J||(J=tvt(te),Ru($e.f,te,J)),L=n?ya(new xo(l(Rt(ot,ot.c.length-1),8)),l(Rt(J,J.c.length-1),8)):ya(new xo((Sn(0,ot.c.length),l(ot.c[0],8))),(Sn(0,J.c.length),l(J.c[0],8))),Ru(F.f,te,L))}if(r.b!=0)for(fe=l(Rt(ot,n?ot.c.length-1:0),8),T=1;T1&&_s(C,fe,C.c.b,C.c),uce(s)));fe=Ee}return C}function Kwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(n.Ug(Kyt,1),Fn=l(kc(ji(new vn(null,new kn(t,16)),new xne),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),C=l(kc(ji(new vn(null,new kn(t,16)),new WXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),V=l(kc(ji(new vn(null,new kn(t,16)),new KXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),J=We(qW,jG,40,t.gc(),0,1),f=0;f=0&&cn=0&&!J[z]){J[z]=s,C.gd(g),--g;break}if(z=cn-F,z=0&&!J[z]){J[z]=s,C.gd(g),--g;break}}for(V.jd(new kne),w=J.length-1;w>=0;w--)!J[w]&&!V.dc()&&(J[w]=l(V.Xb(0),40),V.gd(0));for(T=0;T=0;w--)ci(n,(Sn(w,f.c.length),l(f.c[w],8)));return n}function Ywt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(Me=ze(Ge(at(t,(fg(),_4)))),z=ze(Ge(at(t,vM))),F=ze(Ge(at(t,JW))),B7e((!t.a&&(t.a=new nt(Li,t,10,11)),t.a)),fe=jvt((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),Me,e.b),te=0;teF&&ZN((Sn(F,t.c.length),l(t.c[F],186)),C),C=null;t.c.length>F&&(Sn(F,t.c.length),l(t.c[F],186)).a.c.length==0;)sl(t,(Sn(F,t.c.length),t.c[F]));if(!C){--f;continue}if(!Ft(Pt(l(Rt(C.b,0),27).of((z1(),WB))))&&kAn(t,V,o,C,te,n,F,r)){J=!0;continue}if(te){if(z=V.b,L=C.f,!Ft(Pt(l(Rt(C.b,0),27).of(WB)))&&$Mn(t,V,o,C,n,F,r,s)){if(J=!0,z=e.j){e.a=-1,e.c=1;return}if(t=io(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(r=10,e.d>=e.j)throw ue(new ri(si((Jr(),QG))));e.a=io(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d=e.j||io(e.i,e.d)!=63)break;if(++e.d>=e.j)throw ue(new ri(si((Jr(),g0e))));switch(t=io(e.i,e.d++),t){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(e.d>=e.j)throw ue(new ri(si((Jr(),g0e))));if(t=io(e.i,e.d++),t==61)r=16;else if(t==33)r=17;else throw ue(new ri(si((Jr(),s5t))));break;case 35:for(;e.d=e.j)throw ue(new ri(si((Jr(),QG))));e.a=io(e.i,e.d++);break;default:r=0}e.c=r}function cOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(n.Ug("Process compaction",1),!!Ft(Pt(Q(t,(Vc(),_Ie))))){for(s=l(Q(t,_3),88),z=ze(Ge(Q(t,tge))),PLn(e,t,s),CIn(t,z/2/2),V=t.b,Wm(V,new $Xe(s)),T=Fr(V,0);T.b!=T.d.c;)if(w=l(Pr(T),40),!Ft(Pt(Q(w,(Zi(),Zb))))){if(r=o_n(w,s),J=nLn(w,t),L=0,F=0,r)switch(te=r.e,s.g){case 2:L=te.a-z-w.f.a,J.e.a-z-w.f.aL&&(L=J.e.a+J.f.a+z),F=L+w.f.a;break;case 4:L=te.b-z-w.f.b,J.e.b-z-w.f.bL&&(L=J.e.b+J.f.b+z),F=L+w.f.b}else if(J)switch(s.g){case 2:L=J.e.a-z-w.f.a,F=L+w.f.a;break;case 1:L=J.e.a+J.f.a+z,F=L+w.f.a;break;case 4:L=J.e.b-z-w.f.b,F=L+w.f.b;break;case 3:L=J.e.b+J.f.b+z,F=L+w.f.b}qe(Q(t,ege))===qe((kA(),zB))?(o=L,f=F,g=ET(ji(new vn(null,new kn(e.a,16)),new Dtt(o,f))),g.a!=null?s==(ea(),hc)||s==yc?w.e.a=L:w.e.b=L:(s==(ea(),hc)||s==vf?g=ET(ji(oft(new vn(null,new kn(e.a,16))),new zXe(o))):g=ET(ji(oft(new vn(null,new kn(e.a,16))),new qXe(o))),g.a!=null&&(s==hc||s==yc?w.e.a=ze(Ge((br(g.a!=null),l(g.a,42)).a)):w.e.b=ze(Ge((br(g.a!=null),l(g.a,42)).a)))),g.a!=null&&(C=bc(e.a,(br(g.a!=null),g.a),0),C>0&&C!=l(Q(w,$d),17).a&&(rt(w,wIe,(Hn(),!0)),rt(w,$d,bt(C))))):s==(ea(),hc)||s==yc?w.e.a=L:w.e.b=L}n.Vg()}}function Xwt(e){var t,n,r,s,o,f,g,w,T;for(e.b=1,Mi(e),t=null,e.c==0&&e.a==94?(Mi(e),t=(Ii(),Ii(),new _h(4)),xu(t,0,SE),g=new _h(4)):g=(Ii(),Ii(),new _h(4)),s=!0;(T=e.c)!=1;){if(T==0&&e.a==93&&!s){t&&(rL(t,g),g=t);break}if(n=e.a,r=!1,T==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:Xy(g,QT(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(Xy(g,QT(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(w=F9e(e,n),!w)throw ue(new ri(si((Jr(),p0e))));Xy(g,w),r=!0;break;default:n=vke(e)}else if(T==24&&!s){if(t&&(rL(t,g),g=t),o=Xwt(e),rL(g,o),e.c!=0||e.a!=93)throw ue(new ri(si((Jr(),p5t))));break}if(Mi(e),!r){if(T==0){if(n==91)throw ue(new ri(si((Jr(),zSe))));if(n==93)throw ue(new ri(si((Jr(),qSe))));if(n==45&&!s&&e.a!=93)throw ue(new ri(si((Jr(),b0e))))}if(e.c!=0||e.a!=45||n==45&&s)xu(g,n,n);else{if(Mi(e),(T=e.c)==1)throw ue(new ri(si((Jr(),JG))));if(T==0&&e.a==93)xu(g,n,n),xu(g,45,45);else{if(T==0&&e.a==93||T==24)throw ue(new ri(si((Jr(),b0e))));if(f=e.a,T==0){if(f==91)throw ue(new ri(si((Jr(),zSe))));if(f==93)throw ue(new ri(si((Jr(),qSe))));if(f==45)throw ue(new ri(si((Jr(),b0e))))}else T==10&&(f=vke(e));if(Mi(e),n>f)throw ue(new ri(si((Jr(),v5t))));xu(g,n,f)}}}s=!1}if(e.c==1)throw ue(new ri(si((Jr(),JG))));return l6(g),tL(g),e.b=0,Mi(e),g}function uOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Je=l(Q(t,(Nt(),iDe)),17).a,w=0,f=0,F=new K(t.a);F.a=Je||!r6n(fe,r))&&(r=Wat(t,C)),Ha(fe,r),o=new lr(fr(Ea(fe).a.Kc(),new j));Rr(o);)s=l(yr(o),18),!e.a[s.p]&&(J=s.c.i,--e.e[J.p],e.e[J.p]==0&&W8(qT(z,J),cE));for(T=C.c.length-1;T>=0;--T)wt(t.b,(Sn(T,C.c.length),l(C.c[T],30)));t.a.c.length=0,n.Vg()}function Qwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;$e=!1;do for($e=!1,o=t?new pr(e.a.b).a.gc()-2:1;t?o>=0:ol(Q(te,Yi),17).a)&&(Me=!1);if(Me){for(w=t?o+1:o-1,g=T6e(e.a,bt(w)),f=!1,Ee=!0,r=!1,C=Fr(g,0);C.b!=C.d.c;)T=l(Pr(C),10),rs(T,Yi)?T.p!=L.p&&(f=f|(t?l(Q(T,Yi),17).al(Q(L,Yi),17).a),Ee=!1):!f&&Ee&&T.k==(Jn(),uu)&&(r=!0,t?F=l(yr(new lr(fr(Ea(T).a.Kc(),new j))),18).c.i:F=l(yr(new lr(fr(qs(T).a.Kc(),new j))),18).d.i,F==L&&(t?n=l(yr(new lr(fr(qs(T).a.Kc(),new j))),18).d.i:n=l(yr(new lr(fr(Ea(T).a.Kc(),new j))),18).c.i,(t?l(by(e.a,n),17).a-l(by(e.a,F),17).a:l(by(e.a,F),17).a-l(by(e.a,n),17).a)<=2&&(Ee=!1)));if(r&&Ee&&(t?n=l(yr(new lr(fr(qs(L).a.Kc(),new j))),18).d.i:n=l(yr(new lr(fr(Ea(L).a.Kc(),new j))),18).c.i,(t?l(by(e.a,n),17).a-l(by(e.a,L),17).a:l(by(e.a,L),17).a-l(by(e.a,n),17).a)<=2&&n.k==(Jn(),Bs)&&(Ee=!1)),f||Ee){for(J=Abt(e,L,t);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ga(J,Abt(e,V,t));--z,$e=!0}}}while($e)}function lOn(e){Wr(e.c,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#decimal"])),Wr(e.d,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#integer"])),Wr(e.e,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#boolean"])),Wr(e.f,ui,he(le($t,1),dt,2,6,[oo,"EBoolean",Ai,"EBoolean:Object"])),Wr(e.i,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#byte"])),Wr(e.g,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Wr(e.j,ui,he(le($t,1),dt,2,6,[oo,"EByte",Ai,"EByte:Object"])),Wr(e.n,ui,he(le($t,1),dt,2,6,[oo,"EChar",Ai,"EChar:Object"])),Wr(e.t,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#double"])),Wr(e.u,ui,he(le($t,1),dt,2,6,[oo,"EDouble",Ai,"EDouble:Object"])),Wr(e.F,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#float"])),Wr(e.G,ui,he(le($t,1),dt,2,6,[oo,"EFloat",Ai,"EFloat:Object"])),Wr(e.I,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#int"])),Wr(e.J,ui,he(le($t,1),dt,2,6,[oo,"EInt",Ai,"EInt:Object"])),Wr(e.N,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#long"])),Wr(e.O,ui,he(le($t,1),dt,2,6,[oo,"ELong",Ai,"ELong:Object"])),Wr(e.Z,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#short"])),Wr(e.$,ui,he(le($t,1),dt,2,6,[oo,"EShort",Ai,"EShort:Object"])),Wr(e._,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#string"]))}function hOn(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V;return F=l(r.a,17).a,z=l(r.b,17).a,L=e.b,V=e.c,g=0,C=0,t==(ea(),hc)||t==yc?(C=yO(z1t(Ey(gc(new vn(null,new kn(n.b,16)),new Ene),new une))),L.e.b+L.f.b/2>C?(T=++z,g=ze(Ge(uh(xy(gc(new vn(null,new kn(n.b,16)),new Ntt(s,T)),new d$))))):(w=++F,g=ze(Ge(uh(X8(gc(new vn(null,new kn(n.b,16)),new Ptt(s,w)),new lne)))))):(C=yO(z1t(Ey(gc(new vn(null,new kn(n.b,16)),new dne),new f$))),L.e.a+L.f.a/2>C?(T=++z,g=ze(Ge(uh(xy(gc(new vn(null,new kn(n.b,16)),new Itt(s,T)),new hne))))):(w=++F,g=ze(Ge(uh(X8(gc(new vn(null,new kn(n.b,16)),new Ott(s,w)),new EI)))))),t==hc?(yo(e.a,new lt(ze(Ge(Q(L,(Zi(),o1))))-s,g)),yo(e.a,new lt(V.e.a+V.f.a+s+o,g)),yo(e.a,new lt(V.e.a+V.f.a+s+o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a+V.f.a,V.e.b+V.f.b/2))):t==yc?(yo(e.a,new lt(ze(Ge(Q(L,(Zi(),x0))))+s,L.e.b+L.f.b/2)),yo(e.a,new lt(L.e.a+L.f.a+s,g)),yo(e.a,new lt(V.e.a-s-o,g)),yo(e.a,new lt(V.e.a-s-o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a,V.e.b+V.f.b/2))):t==vf?(yo(e.a,new lt(g,ze(Ge(Q(L,(Zi(),o1))))-s)),yo(e.a,new lt(g,V.e.b+V.f.b+s+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+s+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+s))):(e.a.b==0||(l(a0(e.a),8).b=ze(Ge(Q(L,(Zi(),x0))))+s*l(f.b,17).a),yo(e.a,new lt(g,ze(Ge(Q(L,(Zi(),x0))))+s*l(f.b,17).a)),yo(e.a,new lt(g,V.e.b-s*l(f.a,17).a-o))),new fa(bt(F),bt(z))}function fOn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;if(f=!0,L=null,r=null,s=null,t=!1,z=hAt,T=null,o=null,g=0,w=due(e,g,qPe,HPe),w=0&&wn(e.substr(g,2),"//")?(g+=2,w=due(e,g,zM,qM),r=(Va(g,w,e.length),e.substr(g,w-g)),g=w):L!=null&&(g==e.length||(Yn(g,e.length),e.charCodeAt(g)!=47))&&(f=!1,w=Kye(e,ol(35),g),w==-1&&(w=e.length),r=(Va(g,w,e.length),e.substr(g,w-g)),g=w);if(!n&&g0&&io(C,C.length-1)==58&&(s=C,g=w)),gcle(o))&&(L=o);for(!L&&(L=(Sn(0,te.c.length),l(te.c[0],185))),J=new K(t.b);J.aL&&($n=0,cr+=C+At,C=0),zmt(Je,f,$n,cr),t=b.Math.max(t,$n+ot.a),C=b.Math.max(C,ot.b),$n+=ot.a+At;for($e=new Nr,n=new Nr,cn=new K(e);cn.a=-1900?1:0,n>=4?li(e,he(le($t,1),dt,2,6,[g3t,p3t])[g]):li(e,he(le($t,1),dt,2,6,["BC","AD"])[g]);break;case 121:I6n(e,n,r);break;case 77:Q_n(e,n,r);break;case 107:w=s.q.getHours(),w==0?ug(e,24,n):ug(e,w,n);break;case 83:lCn(e,n,s);break;case 69:C=r.q.getDay(),n==5?li(e,he(le($t,1),dt,2,6,["S","M","T","W","T","F","S"])[C]):n==4?li(e,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe])[C]):li(e,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?li(e,he(le($t,1),dt,2,6,["AM","PM"])[1]):li(e,he(le($t,1),dt,2,6,["AM","PM"])[0]);break;case 104:L=s.q.getHours()%12,L==0?ug(e,12,n):ug(e,L,n);break;case 75:F=s.q.getHours()%12,ug(e,F,n);break;case 72:z=s.q.getHours(),ug(e,z,n);break;case 99:V=r.q.getDay(),n==5?li(e,he(le($t,1),dt,2,6,["S","M","T","W","T","F","S"])[V]):n==4?li(e,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe])[V]):n==3?li(e,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[V]):ug(e,V,1);break;case 76:J=r.q.getMonth(),n==5?li(e,he(le($t,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[J]):n==4?li(e,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe])[J]):n==3?li(e,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[J]):ug(e,J+1,n);break;case 81:te=r.q.getMonth()/3|0,n<4?li(e,he(le($t,1),dt,2,6,["Q1","Q2","Q3","Q4"])[te]):li(e,he(le($t,1),dt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[te]);break;case 100:fe=r.q.getDate(),ug(e,fe,n);break;case 109:T=s.q.getMinutes(),ug(e,T,n);break;case 115:f=s.q.getSeconds(),ug(e,f,n);break;case 122:n<4?li(e,o.c[0]):li(e,o.c[1]);break;case 118:li(e,o.b);break;case 90:n<3?li(e,rTn(o)):n==3?li(e,cTn(o)):li(e,uTn(o.a));break;default:return!1}return!0}function fTe(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai;if(Mmt(t),w=l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84),C=l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84),g=vc(w),T=vc(C),f=(!t.a&&(t.a=new nt(cs,t,6,6)),t.a).i==0?null:l(Oe((!t.a&&(t.a=new nt(cs,t,6,6)),t.a),0),166),At=l(or(e.a,g),10),$n=l(or(e.a,T),10),ln=null,cr=null,De(w,193)&&(ot=l(or(e.a,w),305),De(ot,12)?ln=l(ot,12):De(ot,10)&&(At=l(ot,10),ln=l(Rt(At.j,0),12))),De(C,193)&&(Fn=l(or(e.a,C),305),De(Fn,12)?cr=l(Fn,12):De(Fn,10)&&($n=l(Fn,10),cr=l(Rt($n.j,0),12))),!At||!$n)throw ue(new O8("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(J=new Dw,mc(J,t),rt(J,(ft(),zi),t),rt(J,(Nt(),lc),null),z=l(Q(r,_u),21),At==$n&&z.Fc((Ho(),KL)),ln||(Je=(qo(),$u),cn=null,f&&F5(l(Q(At,Ds),101))&&(cn=new lt(f.j,f.k),yut(cn,nN(t)),Wut(cn,n),Iy(T,g)&&(Je=Fl,Pi(cn,At.n))),ln=Dvt(At,cn,Je,r)),cr||(Je=(qo(),Fl),ai=null,f&&F5(l(Q($n,Ds),101))&&(ai=new lt(f.b,f.c),yut(ai,nN(t)),Wut(ai,n)),cr=Dvt($n,ai,Je,Ja($n))),ho(J,ln),Na(J,cr),(ln.e.c.length>1||ln.g.c.length>1||cr.e.c.length>1||cr.g.c.length>1)&&z.Fc((Ho(),GL)),F=new ar((!t.n&&(t.n=new nt(nc,t,1,7)),t.n));F.e!=F.i.gc();)if(L=l(dr(F),135),!Ft(Pt(at(L,Cv)))&&L.a)switch(te=Kce(L),wt(J.b,te),l(Q(te,jd),278).g){case 1:case 2:z.Fc((Ho(),zE));break;case 0:z.Fc((Ho(),$E)),rt(te,jd,(F1(),iC))}if(o=l(Q(r,ZL),322),fe=l(Q(r,_W),323),s=o==(gA(),CB)||fe==(NA(),Ide),f&&(!f.a&&(f.a=new Qs(qh,f,5)),f.a).i!=0&&s){for(Ee=sP(f),V=new pl,$e=Fr(Ee,0);$e.b!=$e.d.c;)Me=l(Pr($e),8),ci(V,new xo(Me));rt(J,aMe,V)}return J}function bOn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(cn=0,Fn=0,At=new Nr,Je=l(uh(xy(gc(new vn(null,new kn(e.b,16)),new fne),new wne)),17).a+1,ln=We(Ur,fi,28,Je,15,1),te=We(Ur,fi,28,Je,15,1),J=0;J1)for(g=cr+1;gT.b.e.b*(1-fe)+T.c.e.b*fe));V++);if(ot.gc()>0&&(ai=T.a.b==0?Xa(T.b.e):l(a0(T.a),8),Me=Pi(Xa(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),F=Pi(Xa(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&ai.b>Me.b&&T.c.e.b>Me.b||V<=0&&ai.bT.b.e.a*(1-fe)+T.c.e.a*fe));V++);if(ot.gc()>0&&(ai=T.a.b==0?Xa(T.b.e):l(a0(T.a),8),Me=Pi(Xa(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),F=Pi(Xa(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&ai.a>Me.a&&T.c.e.a>Me.a||V<=0&&ai.a=ze(Ge(Q(e,(Zi(),kIe))))&&++Fn):(z.f&&z.d.e.a<=ze(Ge(Q(e,(Zi(),Xde))))&&++cn,z.g&&z.c.e.a+z.c.f.a>=ze(Ge(Q(e,(Zi(),xIe))))&&++Fn)}else $e==0?N9e(T):$e<0&&(++ln[cr],++te[ys],$n=hOn(T,t,e,new fa(bt(cn),bt(Fn)),n,r,new fa(bt(te[ys]),bt(ln[cr]))),cn=l($n.a,17).a,Fn=l($n.b,17).a)}function mOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;if(r=t,w=n,e.b&&r.j==(_t(),Zn)&&w.j==(_t(),Zn)&&(Ee=r,r=w,w=Ee),Hu(e.a,r)){if(K0(l(or(e.a,r),49),w))return 1}else Ti(e.a,r,new Ys);if(Hu(e.a,w)){if(K0(l(or(e.a,w),49),r))return-1}else Ti(e.a,w,new Ys);if(Hu(e.d,r)){if(K0(l(or(e.d,r),49),w))return-1}else Ti(e.d,r,new Ys);if(Hu(e.d,w)){if(K0(l(or(e.a,w),49),r))return 1}else Ti(e.d,w,new Ys);if(r.j!=w.j)return fe=shn(r.j,w.j),fe==-1?ff(e,w,r):ff(e,r,w),fe;if(r.e.c.length!=0&&w.e.c.length!=0){if(e.b&&(fe=p1t(r,w),fe!=0))return fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe;if(o=l(Rt(r.e,0),18).c.i,C=l(Rt(w.e,0),18).c.i,o==C)return s=l(Q(l(Rt(r.e,0),18),(ft(),Yi)),17).a,T=l(Q(l(Rt(w.e,0),18),Yi),17).a,s>T?ff(e,r,w):ff(e,w,r),sT?1:0;for(V=e.c,J=0,te=V.length;JT?ff(e,r,w):ff(e,w,r),sT?1:0):e.b&&(fe=p1t(r,w),fe!=0)?(fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe):(f=0,L=0,rs(l(Rt(r.g,0),18),Yi)&&(f=l(Q(l(Rt(r.g,0),18),Yi),17).a),rs(l(Rt(w.g,0),18),Yi)&&(L=l(Q(l(Rt(r.g,0),18),Yi),17).a),g&&g==F?Ft(Pt(Q(l(Rt(r.g,0),18),W1)))&&!Ft(Pt(Q(l(Rt(w.g,0),18),W1)))?(ff(e,r,w),1):!Ft(Pt(Q(l(Rt(r.g,0),18),W1)))&&Ft(Pt(Q(l(Rt(w.g,0),18),W1)))?(ff(e,w,r),-1):(f>L?ff(e,r,w):ff(e,w,r),fL?1:0):(e.f&&(e.f._b(g)&&(f=l(e.f.xc(g),17).a),e.f._b(F)&&(L=l(e.f.xc(F),17).a)),f>L?ff(e,r,w):ff(e,w,r),fL?1:0))):r.e.c.length!=0&&w.g.c.length!=0?(ff(e,r,w),1):r.g.c.length!=0&&w.e.c.length!=0?(ff(e,w,r),-1):rs(r,(ft(),Yi))&&rs(w,Yi)?(s=l(Q(r,Yi),17).a,T=l(Q(w,Yi),17).a,s>T?ff(e,r,w):ff(e,w,r),sT?1:0):(ff(e,w,r),-1)}function vOn(e){e.gb||(e.gb=!0,e.b=Uc(e,0),As(e.b,18),ss(e.b,19),e.a=Uc(e,1),As(e.a,1),ss(e.a,2),ss(e.a,3),ss(e.a,4),ss(e.a,5),e.o=Uc(e,2),As(e.o,8),As(e.o,9),ss(e.o,10),ss(e.o,11),ss(e.o,12),ss(e.o,13),ss(e.o,14),ss(e.o,15),ss(e.o,16),ss(e.o,17),ss(e.o,18),ss(e.o,19),ss(e.o,20),ss(e.o,21),ss(e.o,22),ss(e.o,23),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),e.p=Uc(e,3),As(e.p,2),As(e.p,3),As(e.p,4),As(e.p,5),ss(e.p,6),ss(e.p,7),oc(e.p),oc(e.p),e.q=Uc(e,4),As(e.q,8),e.v=Uc(e,5),ss(e.v,9),oc(e.v),oc(e.v),oc(e.v),e.w=Uc(e,6),As(e.w,2),As(e.w,3),As(e.w,4),ss(e.w,5),e.B=Uc(e,7),ss(e.B,1),oc(e.B),oc(e.B),oc(e.B),e.Q=Uc(e,8),ss(e.Q,0),oc(e.Q),e.R=Uc(e,9),As(e.R,1),e.S=Uc(e,10),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),e.T=Uc(e,11),ss(e.T,10),ss(e.T,11),ss(e.T,12),ss(e.T,13),ss(e.T,14),oc(e.T),oc(e.T),e.U=Uc(e,12),As(e.U,2),As(e.U,3),ss(e.U,4),ss(e.U,5),ss(e.U,6),ss(e.U,7),oc(e.U),e.V=Uc(e,13),ss(e.V,10),e.W=Uc(e,14),As(e.W,18),As(e.W,19),As(e.W,20),ss(e.W,21),ss(e.W,22),ss(e.W,23),e.bb=Uc(e,15),As(e.bb,10),As(e.bb,11),As(e.bb,12),As(e.bb,13),As(e.bb,14),As(e.bb,15),As(e.bb,16),ss(e.bb,17),oc(e.bb),oc(e.bb),e.eb=Uc(e,16),As(e.eb,2),As(e.eb,3),As(e.eb,4),As(e.eb,5),As(e.eb,6),As(e.eb,7),ss(e.eb,8),ss(e.eb,9),e.ab=Uc(e,17),As(e.ab,0),As(e.ab,1),e.H=Uc(e,18),ss(e.H,0),ss(e.H,1),ss(e.H,2),ss(e.H,3),ss(e.H,4),ss(e.H,5),oc(e.H),e.db=Uc(e,19),ss(e.db,2),e.c=Ci(e,20),e.d=Ci(e,21),e.e=Ci(e,22),e.f=Ci(e,23),e.i=Ci(e,24),e.g=Ci(e,25),e.j=Ci(e,26),e.k=Ci(e,27),e.n=Ci(e,28),e.r=Ci(e,29),e.s=Ci(e,30),e.t=Ci(e,31),e.u=Ci(e,32),e.fb=Ci(e,33),e.A=Ci(e,34),e.C=Ci(e,35),e.D=Ci(e,36),e.F=Ci(e,37),e.G=Ci(e,38),e.I=Ci(e,39),e.J=Ci(e,40),e.L=Ci(e,41),e.M=Ci(e,42),e.N=Ci(e,43),e.O=Ci(e,44),e.P=Ci(e,45),e.X=Ci(e,46),e.Y=Ci(e,47),e.Z=Ci(e,48),e.$=Ci(e,49),e._=Ci(e,50),e.cb=Ci(e,51),e.K=Ci(e,52))}function wOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;for(f=new os,ot=l(Q(n,(Nt(),Rh)),88),J=0,Ga(f,(!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.b!=0;)C=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),27),T=ds(C),(qe(at(T,Tg))!==qe((Td(),I2))||qe(at(T,xv))===qe((w2(),RE))||qe(at(T,xv))===qe((w2(),FE))||Ft(Pt(at(T,w3)))||qe(at(T,m4))!==qe((tv(),h4))||qe(at(T,Xb))===qe((Nf(),C3))||qe(at(T,Xb))===qe((Nf(),E4))||qe(at(T,Tv))===qe((E2(),XE))||qe(at(T,Tv))===qe((E2(),QE)))&&!Ft(Pt(at(C,wW)))&&Vi(C,(ft(),Yi),bt(J++)),fe=!Ft(Pt(at(C,Cv))),fe&&(F=(!C.a&&(C.a=new nt(Li,C,10,11)),C.a).i!=0,V=Wxn(C),z=qe(at(C,v4))===qe((op(),F2)),cr=!P1(C,(bi(),nC))||nlt(Zr(at(C,nC))),$e=null,cr&&z&&(F||V)&&($e=hvt(C),rt($e,Rh,ot),rs($e,OB)&&lZe(new Y8e(ze(Ge(Q($e,OB)))),$e),l(at(C,Ev),181).gc()!=0&&(L=$e,Os(new vn(null,(!C.c&&(C.c=new nt($l,C,9,9)),new kn(C.c,16))),new mYe(L)),rmt(C,$e))),At=n,ln=l(or(e.a,ds(C)),10),ln&&(At=ln.e),Me=Rwt(e,C,At),$e&&(Me.e=$e,$e.e=Me,Ga(f,(!C.a&&(C.a=new nt(Li,C,10,11)),C.a))));for(J=0,_s(f,t,f.c.b,f.c);f.b!=0;){for(o=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),27),w=new ar((!o.b&&(o.b=new nt(js,o,12,3)),o.b));w.e!=w.i.gc();)g=l(dr(w),74),Mmt(g),(qe(at(t,Tg))!==qe((Td(),I2))||qe(at(t,xv))===qe((w2(),RE))||qe(at(t,xv))===qe((w2(),FE))||Ft(Pt(at(t,w3)))||qe(at(t,m4))!==qe((tv(),h4))||qe(at(t,Xb))===qe((Nf(),C3))||qe(at(t,Xb))===qe((Nf(),E4))||qe(at(t,Tv))===qe((E2(),XE))||qe(at(t,Tv))===qe((E2(),QE)))&&Vi(g,(ft(),Yi),bt(J++)),Fn=vc(l(Oe((!g.b&&(g.b=new An(Sr,g,4,7)),g.b),0),84)),$n=vc(l(Oe((!g.c&&(g.c=new An(Sr,g,5,8)),g.c),0),84)),!(Ft(Pt(at(g,Cv)))||Ft(Pt(at(Fn,Cv)))||Ft(Pt(at($n,Cv))))&&(te=Yw(g)&&Ft(Pt(at(Fn,w4)))&&Ft(Pt(at(g,kv))),Je=o,te||Iy($n,Fn)?Je=Fn:Iy(Fn,$n)&&(Je=$n),At=n,ln=l(or(e.a,Je),10),ln&&(At=ln.e),Ee=fTe(e,g,Je,At),rt(Ee,(ft(),nMe),wSn(e,g,t,n)));if(z=qe(at(o,v4))===qe((op(),F2)),z)for(s=new ar((!o.a&&(o.a=new nt(Li,o,10,11)),o.a));s.e!=s.i.gc();)r=l(dr(s),27),cr=!P1(r,(bi(),nC))||nlt(Zr(at(r,nC))),cn=qe(at(r,v4))===qe(F2),cr&&cn&&_s(f,r,f.c.b,f.c)}}function ft(){ft=U;var e,t;zi=new Ki(JTe),nMe=new Ki("coordinateOrigin"),ode=new Ki("processors"),tMe=new ws("compoundNode",(Hn(),!1)),LB=new ws("insideConnections",!1),aMe=new Ki("originalBendpoints"),oMe=new Ki("originalDummyNodePosition"),cMe=new Ki("originalLabelEdge"),YL=new Ki("representedLabels"),WL=new Ki("endLabels"),Wx=new Ki("endLabel.origin"),Xx=new ws("labelSide",(Ih(),cF)),$6=new ws("maxEdgeThickness",0),W1=new ws("reversed",!1),Qx=new Ki(tyt),a1=new ws("longEdgeSource",null),$f=new ws("longEdgeTarget",null),p4=new ws("longEdgeHasLabelDummies",!1),MB=new ws("longEdgeBeforeLabelDummy",!1),fW=new ws("edgeConstraint",(Jm(),U1e)),b3=new Ki("inLayerLayoutUnit"),wv=new ws("inLayerConstraint",(ip(),_B)),Yx=new ws("inLayerSuccessorConstraint",new mt),sMe=new ws("inLayerSuccessorConstraintBetweenNonDummies",!1),Bl=new Ki("portDummy"),hW=new ws("crossingHint",bt(0)),_u=new ws("graphProperties",(t=l(G0(Q1e),9),new Jh(t,l(o0(t,t.length),9),0))),Xc=new ws("externalPortSide",(_t(),jc)),iMe=new ws("externalPortSize",new za),nde=new Ki("externalPortReplacedDummies"),dW=new Ki("externalPortReplacedDummy"),wp=new ws("externalPortConnections",(e=l(G0(Mo),9),new Jh(e,l(o0(e,e.length),9),0))),m3=new ws(G3t,0),eMe=new Ki("barycenterAssociates"),Jx=new Ki("TopSideComments"),Kx=new Ki("BottomSideComments"),lW=new Ki("CommentConnectionPort"),ide=new ws("inputCollect",!1),ade=new ws("outputCollect",!1),AB=new ws("cyclic",!1),rMe=new Ki("crossHierarchyMap"),ude=new Ki("targetOffset"),new ws("splineLabelSize",new za),q6=new Ki("spacings"),gW=new ws("partitionConstraint",!1),p3=new Ki("breakingPoint.info"),hMe=new Ki("splines.survivingEdge"),yv=new Ki("splines.route.start"),H6=new Ki("splines.edgeChain"),lMe=new Ki("originalPortConstraints"),v3=new Ki("selfLoopHolder"),HE=new Ki("splines.nsPortY"),Yi=new Ki("modelOrder"),sde=new Ki("longEdgeTargetNode"),Wb=new ws(_yt,!1),z6=new ws(_yt,!1),rde=new Ki("layerConstraints.hiddenNodes"),uMe=new Ki("layerConstraints.opposidePort"),cde=new Ki("targetNode.modelOrder")}function yOn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;for(L=Fr(e.b,0);L.b!=L.d.c;)if(C=l(Pr(L),40),!wn(C.c,RG))for(o=l(kc(new vn(null,new kn(LTn(C,e),16)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),t==(ea(),hc)||t==yc?o.jd(new bne):o.jd(new g$),V=o.gc(),s=0;s0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-F)/40)>50&&(z>w?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a,C.e.b+C.f.b*f))):t==yc?(T=ze(Ge(Q(C,(Zi(),o1)))),C.e.a-r>T?yo(l(o.Xb(s),65).a,new lt(T-n,C.e.b+C.f.b*f)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-F)/40)>50&&(z>w?yo(l(o.Xb(s),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(s),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(s),65).a,new lt(C.e.a,C.e.b+C.f.b*f))):t==vf?(T=ze(Ge(Q(C,(Zi(),x0)))),C.e.b+C.f.b+r0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-F)/(b.Math.abs(w-z)/40)>50&&(F>g?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b+r/5.3+C.f.b)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b+r/5.3+C.f.b)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,C.e.b+C.f.b))):(T=ze(Ge(Q(C,(Zi(),o1)))),t1t(l(o.Xb(s),65),e)?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,l(a0(l(o.Xb(s),65).a),8).b)):C.e.b-r>T?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,T-n)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-F)/(b.Math.abs(w-z)/40)>50&&(F>g?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b-r/5.3)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b-r/5.3)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,C.e.b)))}function bi(){bi=U;var e,t;nC=new Ki(f4t),c7=new Ki(d4t),vNe=(lg(),$ge),i_t=new mn(aCe,vNe),t7=new mn(Nx,null),s_t=new Ki(wSe),yNe=(rv(),is(Hge,he(le(Uge,1),it,298,0,[qge]))),ZB=new mn(OG,yNe),eF=new mn(JP,(Hn(),!1)),xNe=(ea(),J1),Lv=new mn(Afe,xNe),ENe=(cp(),rpe),TNe=new mn(QP,ENe),c_t=new mn(mSe,!1),_Ne=(op(),gY),i7=new mn(IG,_Ne),BNe=new mw(12),B2=new mn(r3,BNe),nF=new mn(fL,!1),Wge=new mn(PG,!1),rF=new mn(dL,!1),zNe=(Pa(),rm),AM=new mn(Whe,zNe),r9=new Ki(NG),iF=new Ki(qP),tpe=new Ki(gG),npe=new Ki(hL),ANe=new pl,A3=new mn(mCe,ANe),o_t=new mn(yCe,!1),u_t=new mn(xCe,!1),LNe=new a_,rC=new mn(TCe,LNe),lY=new mn(iCe,!1),d_t=new mn(g4t,1),r7=new Ki(p4t),n7=new Ki(b4t),LM=new mn(HP,!1),new mn(m4t,!0),bt(0),new mn(v4t,bt(100)),new mn(w4t,!1),bt(0),new mn(y4t,bt(4e3)),bt(0),new mn(x4t,bt(400)),new mn(k4t,!1),new mn(T4t,!1),new mn(E4t,!0),new mn(C4t,!1),wNe=(QU(),ope),a_t=new mn(vSe,wNe),g_t=new mn(KEe,10),p_t=new mn(WEe,10),VNe=new mn(zhe,20),b_t=new mn(YEe,10),GNe=new mn(Khe,2),KNe=new mn(_fe,10),WNe=new mn(XEe,0),hY=new mn(ZEe,5),YNe=new mn(QEe,1),XNe=new mn(JEe,1),Dv=new mn(t4,20),m_t=new mn(eCe,10),ZNe=new mn(tCe,10),i9=new Ki(nCe),JNe=new Int,QNe=new mn(ECe,JNe),h_t=new Ki(Mfe),FNe=!1,l_t=new mn(Lfe,FNe),DNe=new mw(5),MNe=new mn(uCe,DNe),INe=(Vy(),t=l(G0(Ko),9),new Jh(t,l(o0(t,t.length),9),0)),s7=new mn(gE,INe),jNe=(r6(),nm),RNe=new mn(fCe,jNe),Xge=new Ki(dCe),Qge=new Ki(gCe),Jge=new Ki(pCe),Yge=new Ki(bCe),ONe=(e=l(G0(FM),9),new Jh(e,l(o0(e,e.length),9),0)),Mv=new mn(T6,ONe),PNe=hn((Xl(),cC)),em=new mn(Px,PNe),NNe=new lt(0,0),a7=new mn(Bx,NNe),A4=new mn(dE,!1),kNe=(F1(),iC),Gge=new mn(vCe,kNe),Vge=new mn(pG,!1),bt(1),new mn(S4t,null),$Ne=new Ki(kCe),Zge=new Ki(wCe),UNe=(_t(),jc),o7=new mn(sCe,UNe),eh=new Ki(rCe),qNe=(Pl(),hn(im)),L4=new mn(pE,qNe),epe=new mn(lCe,!1),HNe=new mn(hCe,!0),dY=new mn(UP,1),ePe=new mn(ySe,null),sF=new mn(VP,150),fY=new mn(GP,1.414),s9=new mn(i3,null),v_t=new mn(xSe,1),tF=new mn(oCe,!1),Kge=new mn(cCe,!1),CNe=new mn(qhe,1),SNe=(CV(),spe),new mn(_4t,SNe),f_t=!0,y_t=(gx(),I4),x_t=I4,w_t=I4}function po(){po=U,ZAe=new Xs("DIRECTION_PREPROCESSOR",0),XAe=new Xs("COMMENT_PREPROCESSOR",1),O6=new Xs("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),S1e=new Xs("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),vLe=new Xs("PARTITION_PREPROCESSOR",4),RK=new Xs("LABEL_DUMMY_INSERTER",5),WK=new Xs("SELF_LOOP_PREPROCESSOR",6),d4=new Xs("LAYER_CONSTRAINT_PREPROCESSOR",7),bLe=new Xs("PARTITION_MIDPROCESSOR",8),oLe=new Xs("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),gLe=new Xs("NODE_PROMOTION",10),f4=new Xs("LAYER_CONSTRAINT_POSTPROCESSOR",11),mLe=new Xs("PARTITION_POSTPROCESSOR",12),iLe=new Xs("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),wLe=new Xs("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),UAe=new Xs("BREAKING_POINT_INSERTER",15),qK=new Xs("LONG_EDGE_SPLITTER",16),_1e=new Xs("PORT_SIDE_PROCESSOR",17),BK=new Xs("INVERTED_PORT_PROCESSOR",18),VK=new Xs("PORT_LIST_SORTER",19),xLe=new Xs("SORT_BY_INPUT_ORDER_OF_MODEL",20),UK=new Xs("NORTH_SOUTH_PORT_PREPROCESSOR",21),VAe=new Xs("BREAKING_POINT_PROCESSOR",22),pLe=new Xs(wyt,23),kLe=new Xs(yyt,24),GK=new Xs("SELF_LOOP_PORT_RESTORER",25),yLe=new Xs("SINGLE_EDGE_GRAPH_WRAPPER",26),FK=new Xs("IN_LAYER_CONSTRAINT_PROCESSOR",27),tLe=new Xs("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),fLe=new Xs("LABEL_AND_NODE_SIZE_PROCESSOR",29),hLe=new Xs("INNERMOST_NODE_MARGIN_CALCULATOR",30),YK=new Xs("SELF_LOOP_ROUTER",31),WAe=new Xs("COMMENT_NODE_MARGIN_CALCULATOR",32),PK=new Xs("END_LABEL_PREPROCESSOR",33),$K=new Xs("LABEL_DUMMY_SWITCHER",34),KAe=new Xs("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),DE=new Xs("LABEL_SIDE_SELECTOR",36),uLe=new Xs("HYPEREDGE_DUMMY_MERGER",37),sLe=new Xs("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),dLe=new Xs("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),qL=new Xs("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),QAe=new Xs("CONSTRAINTS_POSTPROCESSOR",41),YAe=new Xs("COMMENT_POSTPROCESSOR",42),lLe=new Xs("HYPERNODE_PROCESSOR",43),aLe=new Xs("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),zK=new Xs("LONG_EDGE_JOINER",45),KK=new Xs("SELF_LOOP_POSTPROCESSOR",46),GAe=new Xs("BREAKING_POINT_REMOVER",47),HK=new Xs("NORTH_SOUTH_PORT_POSTPROCESSOR",48),cLe=new Xs("HORIZONTAL_COMPACTOR",49),jK=new Xs("LABEL_DUMMY_REMOVER",50),nLe=new Xs("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),eLe=new Xs("END_LABEL_SORTER",52),kB=new Xs("REVERSED_EDGE_RESTORER",53),NK=new Xs("END_LABEL_POSTPROCESSOR",54),rLe=new Xs("HIERARCHICAL_NODE_RESIZER",55),JAe=new Xs("DIRECTION_POSTPROCESSOR",56)}function dTe(){dTe=U,kMe=(TN(),rW),O9t=new mn(cEe,kMe),V9t=new mn(uEe,(Hn(),!1)),AMe=(WH(),tde),X9t=new mn(wG,AMe),hkt=new mn(lEe,!1),fkt=new mn(hEe,!0),s9t=new mn(fEe,!1),BMe=(xN(),Bde),_kt=new mn(dEe,BMe),bt(1),Pkt=new mn(gEe,bt(7)),Bkt=new mn(pEe,!1),G9t=new mn(bEe,!1),xMe=(w2(),q1e),I9t=new mn(tfe,xMe),DMe=(E2(),Ade),lkt=new mn(XP,DMe),LMe=(lf(),DB),nkt=new mn(mEe,LMe),bt(-1),tkt=new mn(vEe,null),bt(-1),rkt=new mn(wEe,bt(-1)),bt(-1),ikt=new mn(nfe,bt(4)),bt(-1),akt=new mn(rfe,bt(2)),MMe=(Nf(),PW),ukt=new mn(ife,MMe),bt(0),ckt=new mn(sfe,bt(0)),Z9t=new mn(afe,bt(Ni)),yMe=(gA(),UL),D9t=new mn(bL,yMe),b9t=new mn(yEe,!1),T9t=new mn(ofe,.1),L9t=new mn(cfe,!1),C9t=new mn(xEe,null),S9t=new mn(kEe,null),bt(-1),_9t=new mn(TEe,null),bt(-1),A9t=new mn(EEe,bt(-1)),bt(0),m9t=new mn(CEe,bt(40)),wMe=(yT(),Z1e),x9t=new mn(ufe,wMe),vMe=SB,v9t=new mn(yG,vMe),PMe=(NA(),iM),Skt=new mn(E6,PMe),mkt=new Ki(xG),IMe=(bN(),sW),dkt=new mn(lfe,IMe),OMe=(nP(),aW),pkt=new mn(hfe,OMe),ykt=new mn(ffe,.3),kkt=new Ki(dfe),NMe=(jy(),NW),Tkt=new mn(gfe,NMe),CMe=(BU(),Rde),R9t=new mn(SEe,CMe),SMe=(xA(),$de),j9t=new mn(_Ee,SMe),_Me=(AT(),oM),$9t=new mn(kG,_Me),q9t=new mn(TG,.2),B9t=new mn(pfe,2),Dkt=new mn(AEe,null),Okt=new mn(LEe,10),Ikt=new mn(MEe,10),Nkt=new mn(DEe,20),bt(0),Akt=new mn(IEe,bt(0)),bt(0),Lkt=new mn(OEe,bt(0)),bt(0),Mkt=new mn(NEe,bt(0)),a9t=new mn(bfe,!1),gMe=(HT(),VL),c9t=new mn(PEe,gMe),dMe=(sU(),$1e),o9t=new mn(BEe,dMe),W9t=new mn(EG,!1),bt(0),K9t=new mn(mfe,bt(16)),bt(0),Y9t=new mn(vfe,bt(5)),jMe=($U(),Hde),nTt=new mn(bp,jMe),Fkt=new mn(CG,10),$kt=new mn(SG,1),RMe=(kU(),nW),Kkt=new mn(mL,RMe),Hkt=new Ki(wfe),FMe=bt(1),bt(0),Vkt=new mn(yfe,FMe),$Me=(xU(),qde),aTt=new mn(_G,$Me),rTt=new Ki(AG),Jkt=new mn(LG,!0),Xkt=new mn(MG,2),eTt=new mn(xfe,!0),EMe=(_V(),iW),P9t=new mn(FEe,EMe),TMe=(xx(),PE),N9t=new mn(REe,TMe),mMe=(Td(),I2),p9t=new mn(DG,mMe),g9t=new mn(jEe,!1),d9t=new mn($Ee,!1),pMe=(tv(),h4),u9t=new mn(kfe,pMe),bMe=(EA(),Lde),f9t=new mn(zEe,bMe),l9t=new mn(Tfe,0),h9t=new mn(Efe,0),J9t=H1e,Q9t=CB,skt=IW,okt=IW,ekt=_de,E9t=(op(),F2),M9t=UL,k9t=UL,w9t=UL,y9t=F2,vkt=sM,wkt=iM,gkt=iM,bkt=iM,xkt=Ode,Ckt=sM,Ekt=sM,z9t=(cp(),a9),H9t=a9,U9t=oM,F9t=aF,Rkt=JE,jkt=C4,zkt=JE,qkt=C4,Wkt=JE,Ykt=C4,Ukt=z1e,Gkt=nW,oTt=JE,cTt=C4,iTt=JE,sTt=C4,Zkt=C4,Qkt=C4,tTt=C4}function xOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc,Hh,g7,U2,A0,L0,Pv,f9,fm,d9,qd,Mg,O3,g9,p7,Hd,Bv,Ep,cLt,TBe,N3,XM,Epe,p9,QM,$4,JM,Cpe,uLt;for(TBe=0,ai=t,fc=0,U2=ai.length;fc0&&(e.a[qd.p]=TBe++)}for(QM=0,ys=n,Hh=0,A0=ys.length;Hh0;){for(qd=(br(p7.b>0),l(p7.a.Xb(p7.c=--p7.b),12)),g9=0,g=new K(qd.e);g.a0&&(qd.j==(_t(),Xn)?(e.a[qd.p]=QM,++QM):(e.a[qd.p]=QM+L0+f9,++f9))}QM+=f9}for(O3=new Nr,V=new bd,cr=t,zl=0,g7=cr.length;zlT.b&&(T.b=Hd)):qd.i.c==cLt&&(HdT.c&&(T.c=Hd));for(iT(J,0,J.length,null),p9=We(Ur,fi,28,J.length,15,1),r=We(Ur,fi,28,QM+1,15,1),fe=0;fe0;)At%2>0&&(s+=Cpe[At+1]),At=(At-1)/2|0,++Cpe[At];for(cn=We(aEt,jn,374,J.length*2,0,1),$e=0;$e0&&eN(zl.f),at(fe,ePe)!=null&&(g=l(at(fe,ePe),347),O3=g.Tg(fe),j5(fe,b.Math.max(fe.g,O3.a),b.Math.max(fe.f,O3.b)));if(A0=l(at(t,B2),107),z=t.g-(A0.b+A0.c),F=t.f-(A0.d+A0.a),Hd.bh("Available Child Area: ("+z+"|"+F+")"),Vi(t,t7,z/F),Pdt(t,s,r.eh(g7)),l(at(t,s9),280)==yY&&(uTe(t),j5(t,A0.b+ze(Ge(at(t,r7)))+A0.c,A0.d+ze(Ge(at(t,n7)))+A0.a)),Hd.bh("Executed layout algorithm: "+Zr(at(t,nC))+" on node "+t.k),l(at(t,s9),280)==I4){if(z<0||F<0)throw ue(new Zp("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(P1(t,r7)||P1(t,n7)||uTe(t),J=ze(Ge(at(t,r7))),V=ze(Ge(at(t,n7))),Hd.bh("Desired Child Area: ("+J+"|"+V+")"),Pv=z/J,f9=F/V,L0=b.Math.min(Pv,b.Math.min(f9,ze(Ge(at(t,v_t))))),Vi(t,dY,L0),Hd.bh(t.k+" -- Local Scale Factor (X|Y): ("+Pv+"|"+f9+")"),$e=l(at(t,ZB),21),o=0,f=0,L0'?":wn(s5t,e)?"'(?<' or '(? toIndex: ",MTe=", toIndex: ",DTe="Index: ",ITe=", Size: ",uE="org.eclipse.elk.alg.common",ii={50:1},A3t="org.eclipse.elk.alg.common.compaction",L3t="Scanline/EventHandler",mg="org.eclipse.elk.alg.common.compaction.oned",M3t="CNode belongs to another CGroup.",D3t="ISpacingsHandler/1",Lhe="The ",Mhe=" instance has been finished already.",I3t="The direction ",O3t=" is not supported by the CGraph instance.",N3t="OneDimensionalCompactor",P3t="OneDimensionalCompactor/lambda$0$Type",B3t="Quadruplet",F3t="ScanlineConstraintCalculator",R3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler",j3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",$3t="ScanlineConstraintCalculator/Timestamp",z3t="ScanlineConstraintCalculator/lambda$0$Type",Ld={178:1,46:1},Dhe="org.eclipse.elk.alg.common.compaction.options",Rc="org.eclipse.elk.core.data",OTe="org.eclipse.elk.polyomino.traversalStrategy",NTe="org.eclipse.elk.polyomino.lowLevelSort",PTe="org.eclipse.elk.polyomino.highLevelSort",BTe="org.eclipse.elk.polyomino.fill",Pf={134:1},Ihe="polyomino",cL="org.eclipse.elk.alg.common.networksimplex",vg={183:1,3:1,4:1},q3t="org.eclipse.elk.alg.common.nodespacing",cv="org.eclipse.elk.alg.common.nodespacing.cellsystem",lE="CENTER",H3t={217:1,336:1},FTe={3:1,4:1,5:1,603:1},Dx="LEFT",Ix="RIGHT",RTe="Vertical alignment cannot be null",jTe="BOTTOM",cG="org.eclipse.elk.alg.common.nodespacing.internal",uL="UNDEFINED",H1=.01,jP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",U3t="LabelPlacer/lambda$0$Type",V3t="LabelPlacer/lambda$1$Type",G3t="portRatioOrPosition",hE="org.eclipse.elk.alg.common.overlaps",Ohe="DOWN",Md="org.eclipse.elk.alg.common.polyomino",uG="NORTH",Nhe="EAST",Phe="SOUTH",Bhe="WEST",lG="org.eclipse.elk.alg.common.polyomino.structures",$Te="Direction",Fhe="Grid is only of size ",Rhe=". Requested point (",jhe=") is out of bounds.",hG=" Given center based coordinates were (",$P="org.eclipse.elk.graph.properties",K3t="IPropertyHolder",zTe={3:1,96:1,137:1},Ox="org.eclipse.elk.alg.common.spore",W3t="org.eclipse.elk.alg.common.utils",uv={205:1},y6="org.eclipse.elk.core",Y3t="Connected Components Compaction",X3t="org.eclipse.elk.alg.disco",fG="org.eclipse.elk.alg.disco.graph",$he="org.eclipse.elk.alg.disco.options",qTe="CompactionStrategy",HTe="org.eclipse.elk.disco.componentCompaction.strategy",UTe="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",VTe="org.eclipse.elk.disco.debug.discoGraph",GTe="org.eclipse.elk.disco.debug.discoPolys",Q3t="componentCompaction",lv="org.eclipse.elk.disco",zhe="org.eclipse.elk.spacing.componentComponent",qhe="org.eclipse.elk.edge.thickness",Nx="org.eclipse.elk.aspectRatio",r3="org.eclipse.elk.padding",x6="org.eclipse.elk.alg.disco.transform",Hhe=1.5707963267948966,k6=17976931348623157e292,e4={3:1,4:1,5:1,198:1},J3t={3:1,6:1,4:1,5:1,100:1,115:1},Uhe="org.eclipse.elk.alg.force",KTe="ComponentsProcessor",Z3t="ComponentsProcessor/1",WTe="ElkGraphImporter/lambda$0$Type",zP="org.eclipse.elk.alg.force.graph",eyt="Component Layout",YTe="org.eclipse.elk.alg.force.model",dG="org.eclipse.elk.force.model",XTe="org.eclipse.elk.force.iterations",QTe="org.eclipse.elk.force.repulsivePower",Vhe="org.eclipse.elk.force.temperature",Dd=.001,Ghe="org.eclipse.elk.force.repulsion",lL="org.eclipse.elk.alg.force.options",fE=1.600000023841858,Yu="org.eclipse.elk.force",qP="org.eclipse.elk.priority",t4="org.eclipse.elk.spacing.nodeNode",Khe="org.eclipse.elk.spacing.edgeLabel",gG="org.eclipse.elk.randomSeed",hL="org.eclipse.elk.separateConnectedComponents",fL="org.eclipse.elk.interactive",Whe="org.eclipse.elk.portConstraints",pG="org.eclipse.elk.edgeLabels.inline",dL="org.eclipse.elk.omitNodeMicroLayout",dE="org.eclipse.elk.nodeSize.fixedGraphSize",Px="org.eclipse.elk.nodeSize.options",T6="org.eclipse.elk.nodeSize.constraints",gE="org.eclipse.elk.nodeLabels.placement",pE="org.eclipse.elk.portLabels.placement",HP="org.eclipse.elk.topdownLayout",UP="org.eclipse.elk.topdown.scaleFactor",VP="org.eclipse.elk.topdown.hierarchicalNodeWidth",GP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",i3="org.eclipse.elk.topdown.nodeType",JTe="origin",tyt="random",nyt="boundingBox.upLeft",ryt="boundingBox.lowRight",ZTe="org.eclipse.elk.stress.fixed",eEe="org.eclipse.elk.stress.desiredEdgeLength",tEe="org.eclipse.elk.stress.dimension",nEe="org.eclipse.elk.stress.epsilon",rEe="org.eclipse.elk.stress.iterationLimit",jb="org.eclipse.elk.stress",iyt="ELK Stress",Bx="org.eclipse.elk.nodeSize.minimum",bG="org.eclipse.elk.alg.force.stress",syt="Layered layout",Fx="org.eclipse.elk.alg.layered",KP="org.eclipse.elk.alg.layered.compaction.components",gL="org.eclipse.elk.alg.layered.compaction.oned",mG="org.eclipse.elk.alg.layered.compaction.oned.algs",hv="org.eclipse.elk.alg.layered.compaction.recthull",U1="org.eclipse.elk.alg.layered.components",Id="NONE",iEe="MODEL_ORDER",ou={3:1,6:1,4:1,9:1,5:1,126:1},ayt={3:1,6:1,4:1,5:1,150:1,100:1,115:1},vG="org.eclipse.elk.alg.layered.compound",ns={47:1},Tu="org.eclipse.elk.alg.layered.graph",Yhe=" -> ",oyt="Not supported by LGraph",sEe="Port side is undefined",Xhe={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},S2={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},cyt={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},uyt=`([{"' \r +`,lyt=`)]}"' \r +`,hyt="The given string contains parts that cannot be parsed as numbers.",WP="org.eclipse.elk.core.math",fyt={3:1,4:1,140:1,214:1,423:1},dyt={3:1,4:1,107:1,214:1,423:1},_2="org.eclipse.elk.alg.layered.graph.transform",gyt="ElkGraphImporter",pyt="ElkGraphImporter/lambda$1$Type",byt="ElkGraphImporter/lambda$2$Type",myt="ElkGraphImporter/lambda$4$Type",nr="org.eclipse.elk.alg.layered.intermediate",vyt="Node margin calculation",wyt="ONE_SIDED_GREEDY_SWITCH",yyt="TWO_SIDED_GREEDY_SWITCH",Qhe="No implementation is available for the layout processor ",Jhe="IntermediateProcessorStrategy",Zhe="Node '",xyt="FIRST_SEPARATE",kyt="LAST_SEPARATE",Tyt="Odd port side processing",ua="org.eclipse.elk.alg.layered.intermediate.compaction",pL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",wg="org.eclipse.elk.alg.layered.p3order.counting",YP={230:1},Rx="org.eclipse.elk.alg.layered.intermediate.loops",Bh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",$b="org.eclipse.elk.alg.layered.intermediate.loops.routing",aEe="org.eclipse.elk.alg.layered.intermediate.preserveorder",Od="org.eclipse.elk.alg.layered.intermediate.wrapping",cu="org.eclipse.elk.alg.layered.options",efe="INTERACTIVE",oEe="GREEDY",Eyt="DEPTH_FIRST",Cyt="EDGE_LENGTH",Syt="SELF_LOOPS",_yt="firstTryWithInitialOrder",cEe="org.eclipse.elk.layered.directionCongruency",uEe="org.eclipse.elk.layered.feedbackEdges",wG="org.eclipse.elk.layered.interactiveReferencePoint",lEe="org.eclipse.elk.layered.mergeEdges",hEe="org.eclipse.elk.layered.mergeHierarchyEdges",fEe="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",dEe="org.eclipse.elk.layered.portSortingStrategy",gEe="org.eclipse.elk.layered.thoroughness",pEe="org.eclipse.elk.layered.unnecessaryBendpoints",bEe="org.eclipse.elk.layered.generatePositionAndLayerIds",tfe="org.eclipse.elk.layered.cycleBreaking.strategy",XP="org.eclipse.elk.layered.layering.strategy",mEe="org.eclipse.elk.layered.layering.layerConstraint",vEe="org.eclipse.elk.layered.layering.layerChoiceConstraint",wEe="org.eclipse.elk.layered.layering.layerId",nfe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",rfe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",ife="org.eclipse.elk.layered.layering.nodePromotion.strategy",sfe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",afe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",bL="org.eclipse.elk.layered.crossingMinimization.strategy",yEe="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",ofe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",cfe="org.eclipse.elk.layered.crossingMinimization.semiInteractive",xEe="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",kEe="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",TEe="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",EEe="org.eclipse.elk.layered.crossingMinimization.positionId",CEe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",ufe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",yG="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",E6="org.eclipse.elk.layered.nodePlacement.strategy",xG="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",lfe="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",hfe="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",ffe="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",dfe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",gfe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",SEe="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",_Ee="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",kG="org.eclipse.elk.layered.edgeRouting.splines.mode",TG="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",pfe="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",AEe="org.eclipse.elk.layered.spacing.baseValue",LEe="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",MEe="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",DEe="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",IEe="org.eclipse.elk.layered.priority.direction",OEe="org.eclipse.elk.layered.priority.shortness",NEe="org.eclipse.elk.layered.priority.straightness",bfe="org.eclipse.elk.layered.compaction.connectedComponents",PEe="org.eclipse.elk.layered.compaction.postCompaction.strategy",BEe="org.eclipse.elk.layered.compaction.postCompaction.constraints",EG="org.eclipse.elk.layered.highDegreeNodes.treatment",mfe="org.eclipse.elk.layered.highDegreeNodes.threshold",vfe="org.eclipse.elk.layered.highDegreeNodes.treeHeight",bp="org.eclipse.elk.layered.wrapping.strategy",CG="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",SG="org.eclipse.elk.layered.wrapping.correctionFactor",mL="org.eclipse.elk.layered.wrapping.cutting.strategy",wfe="org.eclipse.elk.layered.wrapping.cutting.cuts",yfe="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",_G="org.eclipse.elk.layered.wrapping.validify.strategy",AG="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",LG="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",MG="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",xfe="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",FEe="org.eclipse.elk.layered.edgeLabels.sideSelection",REe="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",DG="org.eclipse.elk.layered.considerModelOrder.strategy",jEe="org.eclipse.elk.layered.considerModelOrder.portModelOrder",$Ee="org.eclipse.elk.layered.considerModelOrder.noModelOrder",kfe="org.eclipse.elk.layered.considerModelOrder.components",zEe="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",Tfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",Efe="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",Cfe="layering",Ayt="layering.minWidth",Lyt="layering.nodePromotion",bE="crossingMinimization",IG="org.eclipse.elk.hierarchyHandling",Myt="crossingMinimization.greedySwitch",Dyt="nodePlacement",Iyt="nodePlacement.bk",Oyt="edgeRouting",QP="org.eclipse.elk.edgeRouting",V1="spacing",qEe="priority",HEe="compaction",Nyt="compaction.postCompaction",Pyt="Specifies whether and how post-process compaction is applied.",UEe="highDegreeNodes",VEe="wrapping",Byt="wrapping.cutting",Fyt="wrapping.validify",GEe="wrapping.multiEdge",Sfe="edgeLabels",vL="considerModelOrder",KEe="org.eclipse.elk.spacing.commentComment",WEe="org.eclipse.elk.spacing.commentNode",YEe="org.eclipse.elk.spacing.edgeEdge",_fe="org.eclipse.elk.spacing.edgeNode",XEe="org.eclipse.elk.spacing.labelLabel",QEe="org.eclipse.elk.spacing.labelPortHorizontal",JEe="org.eclipse.elk.spacing.labelPortVertical",ZEe="org.eclipse.elk.spacing.labelNode",eCe="org.eclipse.elk.spacing.nodeSelfLoop",tCe="org.eclipse.elk.spacing.portPort",nCe="org.eclipse.elk.spacing.individual",rCe="org.eclipse.elk.port.borderOffset",iCe="org.eclipse.elk.noLayout",sCe="org.eclipse.elk.port.side",JP="org.eclipse.elk.debugMode",aCe="org.eclipse.elk.alignment",oCe="org.eclipse.elk.insideSelfLoops.activate",cCe="org.eclipse.elk.insideSelfLoops.yo",Afe="org.eclipse.elk.direction",uCe="org.eclipse.elk.nodeLabels.padding",lCe="org.eclipse.elk.portLabels.nextToPortIfPossible",hCe="org.eclipse.elk.portLabels.treatAsGroup",fCe="org.eclipse.elk.portAlignment.default",dCe="org.eclipse.elk.portAlignment.north",gCe="org.eclipse.elk.portAlignment.south",pCe="org.eclipse.elk.portAlignment.west",bCe="org.eclipse.elk.portAlignment.east",OG="org.eclipse.elk.contentAlignment",mCe="org.eclipse.elk.junctionPoints",vCe="org.eclipse.elk.edgeLabels.placement",wCe="org.eclipse.elk.port.index",yCe="org.eclipse.elk.commentBox",xCe="org.eclipse.elk.hypernode",kCe="org.eclipse.elk.port.anchor",Lfe="org.eclipse.elk.partitioning.activate",Mfe="org.eclipse.elk.partitioning.partition",NG="org.eclipse.elk.position",TCe="org.eclipse.elk.margins",ECe="org.eclipse.elk.spacing.portsSurrounding",PG="org.eclipse.elk.interactiveLayout",Kc="org.eclipse.elk.core.util",CCe={3:1,4:1,5:1,601:1},Ryt="NETWORK_SIMPLEX",SCe="SIMPLE",Vo={106:1,47:1},BG="org.eclipse.elk.alg.layered.p1cycles",mp="org.eclipse.elk.alg.layered.p2layers",_Ce={413:1,230:1},jyt={846:1,3:1,4:1},El="org.eclipse.elk.alg.layered.p3order",Go="org.eclipse.elk.alg.layered.p4nodes",$yt={3:1,4:1,5:1,854:1},Nd=1e-5,zb="org.eclipse.elk.alg.layered.p4nodes.bk",Dfe="org.eclipse.elk.alg.layered.p5edges",r1="org.eclipse.elk.alg.layered.p5edges.orthogonal",Ife="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",Ofe=1e-6,n4="org.eclipse.elk.alg.layered.p5edges.splines",Nfe=.09999999999999998,FG=1e-8,zyt=4.71238898038469,ACe=3.141592653589793,vp="org.eclipse.elk.alg.mrtree",Pfe=.10000000149011612,RG="SUPER_ROOT",wL="org.eclipse.elk.alg.mrtree.graph",LCe=-17976931348623157e292,Eu="org.eclipse.elk.alg.mrtree.intermediate",qyt="Processor compute fanout",jG={3:1,6:1,4:1,5:1,534:1,100:1,115:1},Hyt="Set neighbors in level",ZP="org.eclipse.elk.alg.mrtree.options",Uyt="DESCENDANTS",MCe="org.eclipse.elk.mrtree.compaction",DCe="org.eclipse.elk.mrtree.edgeEndTextureLength",ICe="org.eclipse.elk.mrtree.treeLevel",OCe="org.eclipse.elk.mrtree.positionConstraint",NCe="org.eclipse.elk.mrtree.weighting",PCe="org.eclipse.elk.mrtree.edgeRoutingMode",BCe="org.eclipse.elk.mrtree.searchOrder",Vyt="Position Constraint",Xu="org.eclipse.elk.mrtree",Gyt="org.eclipse.elk.tree",Kyt="Processor arrange level",mE="org.eclipse.elk.alg.mrtree.p2order",ph="org.eclipse.elk.alg.mrtree.p4route",FCe="org.eclipse.elk.alg.radial",fv=6.283185307179586,RCe="Before",jCe=5e-324,$G="After",$Ce="org.eclipse.elk.alg.radial.intermediate",Wyt="COMPACTION",Bfe="org.eclipse.elk.alg.radial.intermediate.compaction",Yyt={3:1,4:1,5:1,100:1},zCe="org.eclipse.elk.alg.radial.intermediate.optimization",Ffe="No implementation is available for the layout option ",yL="org.eclipse.elk.alg.radial.options",qCe="org.eclipse.elk.radial.centerOnRoot",HCe="org.eclipse.elk.radial.orderId",UCe="org.eclipse.elk.radial.radius",zG="org.eclipse.elk.radial.rotate",Rfe="org.eclipse.elk.radial.compactor",jfe="org.eclipse.elk.radial.compactionStepSize",VCe="org.eclipse.elk.radial.sorter",GCe="org.eclipse.elk.radial.wedgeCriteria",KCe="org.eclipse.elk.radial.optimizationCriteria",$fe="org.eclipse.elk.radial.rotation.targetAngle",zfe="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",WCe="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",Xyt="Compaction",YCe="rotation",df="org.eclipse.elk.radial",Qyt="org.eclipse.elk.alg.radial.p1position.wedge",XCe="org.eclipse.elk.alg.radial.sorting",Jyt=5.497787143782138,Zyt=3.9269908169872414,e4t=2.356194490192345,t4t="org.eclipse.elk.alg.rectpacking",qG="org.eclipse.elk.alg.rectpacking.intermediate",qfe="org.eclipse.elk.alg.rectpacking.options",QCe="org.eclipse.elk.rectpacking.trybox",JCe="org.eclipse.elk.rectpacking.currentPosition",ZCe="org.eclipse.elk.rectpacking.desiredPosition",eSe="org.eclipse.elk.rectpacking.inNewRow",tSe="org.eclipse.elk.rectpacking.widthApproximation.strategy",nSe="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",rSe="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",iSe="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",sSe="org.eclipse.elk.rectpacking.packing.strategy",aSe="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",oSe="org.eclipse.elk.rectpacking.packing.compaction.iterations",cSe="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Hfe="widthApproximation",n4t="Compaction Strategy",r4t="packing.compaction",Jl="org.eclipse.elk.rectpacking",vE="org.eclipse.elk.alg.rectpacking.p1widthapproximation",HG="org.eclipse.elk.alg.rectpacking.p2packing",i4t="No Compaction",uSe="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",eB="org.eclipse.elk.alg.rectpacking.util",UG="No implementation available for ",r4="org.eclipse.elk.alg.spore",i4="org.eclipse.elk.alg.spore.options",s3="org.eclipse.elk.sporeCompaction",Ufe="org.eclipse.elk.underlyingLayoutAlgorithm",lSe="org.eclipse.elk.processingOrder.treeConstruction",hSe="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Vfe="org.eclipse.elk.processingOrder.preferredRoot",Gfe="org.eclipse.elk.processingOrder.rootSelection",Kfe="org.eclipse.elk.structure.structureExtractionStrategy",fSe="org.eclipse.elk.compaction.compactionStrategy",dSe="org.eclipse.elk.compaction.orthogonal",gSe="org.eclipse.elk.overlapRemoval.maxIterations",pSe="org.eclipse.elk.overlapRemoval.runScanline",Wfe="processingOrder",s4t="overlapRemoval",wE="org.eclipse.elk.sporeOverlap",a4t="org.eclipse.elk.alg.spore.p1structure",Yfe="org.eclipse.elk.alg.spore.p2processingorder",Xfe="org.eclipse.elk.alg.spore.p3execution",o4t="Topdown Layout",c4t="Invalid index: ",yE="org.eclipse.elk.core.alg",C6={341:1},s4={295:1},u4t="Make sure its type is registered with the ",bSe=" utility class.",xE="true",Qfe="false",l4t="Couldn't clone property '",a3=.05,Zl="org.eclipse.elk.core.options",h4t=1.2999999523162842,o3="org.eclipse.elk.box",mSe="org.eclipse.elk.expandNodes",vSe="org.eclipse.elk.box.packingMode",f4t="org.eclipse.elk.algorithm",d4t="org.eclipse.elk.resolvedAlgorithm",wSe="org.eclipse.elk.bendPoints",SOn="org.eclipse.elk.labelManager",g4t="org.eclipse.elk.scaleFactor",p4t="org.eclipse.elk.childAreaWidth",b4t="org.eclipse.elk.childAreaHeight",m4t="org.eclipse.elk.animate",v4t="org.eclipse.elk.animTimeFactor",w4t="org.eclipse.elk.layoutAncestors",y4t="org.eclipse.elk.maxAnimTime",x4t="org.eclipse.elk.minAnimTime",k4t="org.eclipse.elk.progressBar",T4t="org.eclipse.elk.validateGraph",E4t="org.eclipse.elk.validateOptions",C4t="org.eclipse.elk.zoomToFit",_On="org.eclipse.elk.font.name",S4t="org.eclipse.elk.font.size",ySe="org.eclipse.elk.topdown.sizeApproximator",xSe="org.eclipse.elk.topdown.scaleCap",_4t="org.eclipse.elk.edge.type",A4t="partitioning",L4t="nodeLabels",VG="portAlignment",Jfe="nodeSize",Zfe="port",kSe="portLabels",tB="topdown",M4t="insideSelfLoops",xL="org.eclipse.elk.fixed",GG="org.eclipse.elk.random",TSe={3:1,34:1,22:1,347:1},D4t="port must have a parent node to calculate the port side",I4t="The edge needs to have exactly one edge section. Found: ",kL="org.eclipse.elk.core.util.adapters",gf="org.eclipse.emf.ecore",S6="org.eclipse.elk.graph",O4t="EMapPropertyHolder",N4t="ElkBendPoint",P4t="ElkGraphElement",B4t="ElkConnectableShape",ESe="ElkEdge",F4t="ElkEdgeSection",R4t="EModelElement",j4t="ENamedElement",CSe="ElkLabel",SSe="ElkNode",_Se="ElkPort",$4t={94:1,93:1},jx="org.eclipse.emf.common.notify.impl",qb="The feature '",TL="' is not a valid changeable feature",z4t="Expecting null",e0e="' is not a valid feature",q4t="The feature ID",H4t=" is not a valid feature ID",nu=32768,U4t={110:1,94:1,93:1,58:1,54:1,99:1},Vn="org.eclipse.emf.ecore.impl",dv="org.eclipse.elk.graph.impl",EL="Recursive containment not allowed for ",kE="The datatype '",c3="' is not a valid classifier",t0e="The value '",_6={195:1,3:1,4:1},n0e="The class '",TE="http://www.eclipse.org/elk/ElkGraph",ASe="property",CL="value",r0e="source",V4t="properties",G4t="identifier",i0e="height",s0e="width",a0e="parent",o0e="text",c0e="children",K4t="hierarchical",LSe="sources",u0e="targets",MSe="sections",KG="bendPoints",DSe="outgoingShape",ISe="incomingShape",OSe="outgoingSections",NSe="incomingSections",Eo="org.eclipse.emf.common.util",PSe="Severe implementation error in the Json to ElkGraph importer.",Pd="id",eo="org.eclipse.elk.graph.json",BSe="Unhandled parameter types: ",W4t="startPoint",Y4t="An edge must have at least one source and one target (edge id: '",EE="').",X4t="Referenced edge section does not exist: ",Q4t=" (edge id: '",FSe="target",J4t="sourcePoint",Z4t="targetPoint",WG="group",Ai="name",e5t="connectableShape cannot be null",t5t="edge cannot be null",l0e="Passed edge is not 'simple'.",YG="org.eclipse.elk.graph.util",nB="The 'no duplicates' constraint is violated",h0e="targetIndex=",gv=", size=",f0e="sourceIndex=",Bd={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},d0e={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},XG="logging",n5t="measureExecutionTime",r5t="parser.parse.1",i5t="parser.parse.2",QG="parser.next.1",g0e="parser.next.2",s5t="parser.next.3",a5t="parser.next.4",pv="parser.factor.1",RSe="parser.factor.2",o5t="parser.factor.3",c5t="parser.factor.4",u5t="parser.factor.5",l5t="parser.factor.6",h5t="parser.atom.1",f5t="parser.atom.2",d5t="parser.atom.3",jSe="parser.atom.4",p0e="parser.atom.5",$Se="parser.cc.1",JG="parser.cc.2",g5t="parser.cc.3",p5t="parser.cc.5",zSe="parser.cc.6",qSe="parser.cc.7",b0e="parser.cc.8",b5t="parser.ope.1",m5t="parser.ope.2",v5t="parser.ope.3",A2="parser.descape.1",w5t="parser.descape.2",y5t="parser.descape.3",x5t="parser.descape.4",k5t="parser.descape.5",pf="parser.process.1",T5t="parser.quantifier.1",E5t="parser.quantifier.2",C5t="parser.quantifier.3",S5t="parser.quantifier.4",HSe="parser.quantifier.5",_5t="org.eclipse.emf.common.notify",USe={424:1,686:1},A5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},rB={378:1,152:1},SL="index=",m0e={3:1,4:1,5:1,129:1},L5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},VSe={3:1,6:1,4:1,5:1,198:1},M5t={3:1,4:1,5:1,173:1,379:1},D5t=";/?:@&=+$,",I5t="invalid authority: ",O5t="EAnnotation",N5t="ETypedElement",P5t="EStructuralFeature",B5t="EAttribute",F5t="EClassifier",R5t="EEnumLiteral",j5t="EGenericType",$5t="EOperation",z5t="EParameter",q5t="EReference",H5t="ETypeParameter",us="org.eclipse.emf.ecore.util",v0e={79:1},GSe={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},U5t="org.eclipse.emf.ecore.util.FeatureMap$Entry",Cl=8192,a4=2048,_L="byte",ZG="char",AL="double",LL="float",ML="int",DL="long",IL="short",V5t="java.lang.Object",A6={3:1,4:1,5:1,254:1},KSe={3:1,4:1,5:1,688:1},G5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},Ec={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},iB="mixed",ui="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Bf="kind",K5t={3:1,4:1,5:1,689:1},WSe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},eK={20:1,31:1,56:1,16:1,15:1,61:1,71:1},tK={51:1,128:1,287:1},nK={76:1,343:1},rK="The value of type '",iK="' must be of type '",L6=1352,Ff="http://www.eclipse.org/emf/2002/Ecore",sK=-32768,u3="constraints",oo="baseType",W5t="getEStructuralFeature",Y5t="getFeatureID",OL="feature",X5t="getOperationID",YSe="operation",Q5t="defaultValue",J5t="eTypeParameters",Z5t="isInstance",e6t="getEEnumLiteral",t6t="eContainingClass",xi={57:1},n6t={3:1,4:1,5:1,124:1},r6t="org.eclipse.emf.ecore.resource",i6t={94:1,93:1,599:1,2034:1},w0e="org.eclipse.emf.ecore.resource.impl",XSe="unspecified",sB="simple",aK="attribute",s6t="attributeWildcard",oK="element",y0e="elementWildcard",i1="collapse",x0e="itemType",cK="namespace",aB="##targetNamespace",Rf="whiteSpace",QSe="wildcards",bv="http://www.eclipse.org/emf/2003/XMLType",k0e="##any",CE="uninitialized",oB="The multiplicity constraint is violated",uK="org.eclipse.emf.ecore.xml.type",a6t="ProcessingInstruction",o6t="SimpleAnyType",c6t="XMLTypeDocumentRoot",na="org.eclipse.emf.ecore.xml.type.impl",cB="INF",u6t="processing",l6t="ENTITIES_._base",JSe="minLength",ZSe="ENTITY",lK="NCName",h6t="IDREFS_._base",e_e="integer",T0e="token",E0e="pattern",f6t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",t_e="\\i\\c*",d6t="[\\i-[:]][\\c-[:]]*",g6t="nonPositiveInteger",uB="maxInclusive",n_e="NMTOKEN",p6t="NMTOKENS_._base",r_e="nonNegativeInteger",lB="minInclusive",b6t="normalizedString",m6t="unsignedByte",v6t="unsignedInt",w6t="18446744073709551615",y6t="unsignedShort",x6t="processingInstruction",L2="org.eclipse.emf.ecore.xml.type.internal",SE=1114111,k6t="Internal Error: shorthands: \\u",NL="xml:isDigit",C0e="xml:isWord",S0e="xml:isSpace",_0e="xml:isNameChar",A0e="xml:isInitialNameChar",T6t="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",E6t="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",C6t="Private Use",L0e="ASSIGNED",M0e="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",i_e="UNASSIGNED",_E={3:1,122:1},S6t="org.eclipse.emf.ecore.xml.type.util",hK={3:1,4:1,5:1,381:1},s_e="org.eclipse.xtext.xbase.lib",_6t="Cannot add elements to a Range",A6t="Cannot set elements in a Range",L6t="Cannot remove elements from a Range",M6t="user.agent",h,fK,D0e;b.goog=b.goog||{},b.goog.global=b.goog.global||b,fK={},D(1,null,{},E),h.Fb=function(t){return Ant(this,t)},h.Gb=function(){return this.Rm},h.Hb=function(){return ww(this)},h.Ib=function(){var t;return Pm(dh(this))+"@"+(t=ts(this)>>>0,t.toString(16))},h.equals=function(e){return this.Fb(e)},h.hashCode=function(){return this.Hb()},h.toString=function(){return this.Ib()};var D6t,I6t,O6t;D(297,1,{297:1,2124:1},e8e),h.ve=function(t){var n;return n=new e8e,n.i=4,t>1?n.c=Xot(this,t-1):n.c=this,n},h.we=function(){return Xg(this),this.b},h.xe=function(){return Pm(this)},h.ye=function(){return Xg(this),this.k},h.ze=function(){return(this.i&4)!=0},h.Ae=function(){return(this.i&1)!=0},h.Ib=function(){return h7e(this)},h.i=0;var ka=I(Gc,"Object",1),a_e=I(Gc,"Class",297);D(2096,1,AP),I(LP,"Optional",2096),D(1191,2096,AP,_),h.Fb=function(t){return t===this},h.Hb=function(){return 2040732332},h.Ib=function(){return"Optional.absent()"},h.Jb=function(t){return Xr(t),c_(),I0e};var I0e;I(LP,"Absent",1191),D(636,1,{},dse),I(LP,"Joiner",636);var AOn=Ts(LP,"Predicate");D(589,1,{178:1,589:1,3:1,46:1},xz),h.Mb=function(t){return X0t(this,t)},h.Lb=function(t){return X0t(this,t)},h.Fb=function(t){var n;return De(t,589)?(n=l(t,589),Q9e(this.a,n.a)):!1},h.Hb=function(){return a8e(this.a)+306654252},h.Ib=function(){return gkn(this.a)},I(LP,"Predicates/AndPredicate",589),D(419,2096,{419:1,3:1},ZS),h.Fb=function(t){var n;return De(t,419)?(n=l(t,419),Fi(this.a,n.a)):!1},h.Hb=function(){return 1502476572+ts(this.a)},h.Ib=function(){return i3t+this.a+")"},h.Jb=function(t){return new ZS(NH(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},I(LP,"Present",419),D(204,1,nE),h.Nb=function(t){Qa(this,t)},h.Qb=function(){pZe()},I(gn,"UnmodifiableIterator",204),D(2076,204,rE),h.Qb=function(){pZe()},h.Rb=function(t){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(gn,"UnmodifiableListIterator",2076),D(399,2076,rE),h.Ob=function(){return this.c0},h.Pb=function(){if(this.c>=this.d)throw ue(new Dc);return this.Xb(this.c++)},h.Tb=function(){return this.c},h.Ub=function(){if(this.c<=0)throw ue(new Dc);return this.Xb(--this.c)},h.Vb=function(){return this.c-1},h.c=0,h.d=0,I(gn,"AbstractIndexedListIterator",399),D(713,204,nE),h.Ob=function(){return pce(this)},h.Pb=function(){return s7e(this)},h.e=1,I(gn,"AbstractIterator",713),D(2084,1,{229:1}),h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.Fb=function(t){return Fce(this,t)},h.Hb=function(){return ts(this.Zb())},h.dc=function(){return this.gc()==0},h.ec=function(){return Y8(this)},h.Ib=function(){return Tc(this.Zb())},I(gn,"AbstractMultimap",2084),D(742,2084,av),h.$b=function(){EU(this)},h._b=function(t){return NZe(this,t)},h.ac=function(){return new Dk(this,this.c)},h.ic=function(t){return this.hc()},h.bc=function(){return new U5(this,this.c)},h.jc=function(){return this.mc(this.hc())},h.kc=function(){return new ZJe(this)},h.lc=function(){return Gue(this.c.vc().Nc(),new P,64,this.d)},h.cc=function(t){return $i(this,t)},h.fc=function(t){return jN(this,t)},h.gc=function(){return this.d},h.mc=function(t){return Cn(),new ja(t)},h.nc=function(){return new JJe(this)},h.oc=function(){return Gue(this.c.Cc().Nc(),new A,64,this.d)},h.pc=function(t,n){return new nU(this,t,n,null)},h.d=0,I(gn,"AbstractMapBasedMultimap",742),D(1696,742,av),h.hc=function(){return new Pu(this.a)},h.jc=function(){return Cn(),Cn(),Co},h.cc=function(t){return l($i(this,t),15)},h.fc=function(t){return l(jN(this,t),15)},h.Zb=function(){return tx(this)},h.Fb=function(t){return Fce(this,t)},h.qc=function(t){return l($i(this,t),15)},h.rc=function(t){return l(jN(this,t),15)},h.mc=function(t){return voe(l(t,15))},h.pc=function(t,n){return rut(this,t,l(n,15),null)},I(gn,"AbstractListMultimap",1696),D(748,1,Ia),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.c.Ob()||this.e.Ob()},h.Pb=function(){var t;return this.e.Ob()||(t=l(this.c.Pb(),44),this.b=t.ld(),this.a=l(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},h.Qb=function(){this.e.Qb(),l(Lf(this.a),16).dc()&&this.c.Qb(),--this.d.d},I(gn,"AbstractMapBasedMultimap/Itr",748),D(1129,748,Ia,JJe),h.sc=function(t,n){return n},I(gn,"AbstractMapBasedMultimap/1",1129),D(1130,1,{},A),h.Kb=function(t){return l(t,16).Nc()},I(gn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),D(1131,748,Ia,ZJe),h.sc=function(t,n){return new hw(t,n)},I(gn,"AbstractMapBasedMultimap/2",1131);var o_e=Ts(_r,"Map");D(2065,1,t3),h.wc=function(t){vA(this,t)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.$b=function(){this.vc().$b()},h.tc=function(t){return Aue(this,t)},h._b=function(t){return!!Yxe(this,t,!1)},h.uc=function(t){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),s=n.md(),qe(t)===qe(s)||t!=null&&Fi(t,s))return!0;return!1},h.Fb=function(t){var n,r,s;if(t===this)return!0;if(!De(t,85)||(s=l(t,85),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),!this.tc(n))return!1;return!0},h.xc=function(t){return dc(Yxe(this,t,!1))},h.Hb=function(){return X7e(this.vc())},h.dc=function(){return this.gc()==0},h.ec=function(){return new pr(this)},h.zc=function(t,n){throw ue(new Jp("Put not supported on this map"))},h.Ac=function(t){mA(this,t)},h.Bc=function(t){return dc(Yxe(this,t,!0))},h.gc=function(){return this.vc().gc()},h.Ib=function(){return cpt(this)},h.Cc=function(){return new pi(this)},I(_r,"AbstractMap",2065),D(2085,2065,t3),h.bc=function(){return new nq(this)},h.vc=function(){return Zst(this)},h.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},h.Cc=function(){var t;return t=this.i,t||(this.i=new Cet(this))},I(gn,"Maps/ViewCachingAbstractMap",2085),D(402,2085,t3,Dk),h.xc=function(t){return Own(this,t)},h.Bc=function(t){return n4n(this,t)},h.$b=function(){this.d==this.e.c?this.e.$b():hH(new c5e(this))},h._b=function(t){return N1t(this.d,t)},h.Ec=function(){return new kz(this)},h.Dc=function(){return this.Ec()},h.Fb=function(t){return this===t||Fi(this.d,t)},h.Hb=function(){return ts(this.d)},h.ec=function(){return this.e.ec()},h.gc=function(){return this.d.gc()},h.Ib=function(){return Tc(this.d)},I(gn,"AbstractMapBasedMultimap/AsMap",402);var Fh=Ts(Gc,"Iterable");D(31,1,Qy),h.Jc=function(t){Za(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new vn(null,this.Nc())},h.Fc=function(t){throw ue(new Jp("Add not supported on this collection"))},h.Gc=function(t){return Ga(this,t)},h.$b=function(){W5e(this)},h.Hc=function(t){return Fy(this,t,!1)},h.Ic=function(t){return DN(this,t)},h.dc=function(){return this.gc()==0},h.Mc=function(t){return Fy(this,t,!0)},h.Pc=function(){return v5e(this)},h.Qc=function(t){return BA(this,t)},h.Ib=function(){return Ob(this)},I(_r,"AbstractCollection",31);var jf=Ts(_r,"Set");D(q1,31,Tl),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Cdt(this,t)},h.Hb=function(){return X7e(this)},I(_r,"AbstractSet",q1),D(2068,q1,Tl),I(gn,"Sets/ImprovedAbstractSet",2068),D(2069,2068,Tl),h.$b=function(){this.Rc().$b()},h.Hc=function(t){return udt(this,t)},h.dc=function(){return this.Rc().dc()},h.Mc=function(t){var n;return this.Hc(t)&&De(t,44)?(n=l(t,44),this.Rc().ec().Mc(n.ld())):!1},h.gc=function(){return this.Rc().gc()},I(gn,"Maps/EntrySet",2069),D(1127,2069,Tl,kz),h.Hc=function(t){return T8e(this.a.d.vc(),t)},h.Kc=function(){return new c5e(this.a)},h.Rc=function(){return this.a},h.Mc=function(t){var n;return T8e(this.a.d.vc(),t)?(n=l(Lf(l(t,44)),44),xvn(this.a.e,n.ld()),!0):!1},h.Nc=function(){return qO(this.a.d.vc().Nc(),new Tz(this.a))},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),D(1128,1,{},Tz),h.Kb=function(t){return tlt(this.a,l(t,44))},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),D(746,1,Ia,c5e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){var t;return t=l(this.b.Pb(),44),this.a=l(t.md(),16),tlt(this.c,t)},h.Ob=function(){return this.b.Ob()},h.Qb=function(){$k(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),D(542,2068,Tl,nq),h.$b=function(){this.b.$b()},h.Hc=function(t){return this.b._b(t)},h.Jc=function(t){Xr(t),this.b.wc(new Az(t))},h.dc=function(){return this.b.dc()},h.Kc=function(){return new u_(this.b.vc().Kc())},h.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},h.gc=function(){return this.b.gc()},I(gn,"Maps/KeySet",542),D(327,542,Tl,U5),h.$b=function(){var t;hH((t=this.b.vc().Kc(),new I3e(this,t)))},h.Ic=function(t){return this.b.ec().Ic(t)},h.Fb=function(t){return this===t||Fi(this.b.ec(),t)},h.Hb=function(){return ts(this.b.ec())},h.Kc=function(){var t;return t=this.b.vc().Kc(),new I3e(this,t)},h.Mc=function(t){var n,r;return r=0,n=l(this.b.Bc(t),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},h.Nc=function(){return this.b.ec().Nc()},I(gn,"AbstractMapBasedMultimap/KeySet",327),D(747,1,Ia,I3e),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.c.Ob()},h.Pb=function(){return this.a=l(this.c.Pb(),44),this.a.ld()},h.Qb=function(){var t;$k(!!this.a),t=l(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},I(gn,"AbstractMapBasedMultimap/KeySet/1",747),D(503,402,{85:1,133:1},PO),h.bc=function(){return this.Sc()},h.ec=function(){return this.Uc()},h.Sc=function(){return new uO(this.c,this.Wc())},h.Tc=function(){return this.Wc().Tc()},h.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},h.Vc=function(){return this.Wc().Vc()},h.Wc=function(){return l(this.d,133)},I(gn,"AbstractMapBasedMultimap/SortedAsMap",503),D(446,503,mTe,H_),h.bc=function(){return new Mk(this.a,l(l(this.d,133),139))},h.Sc=function(){return new Mk(this.a,l(l(this.d,133),139))},h.ec=function(){var t;return t=this.b,l(t||(this.b=new Mk(this.a,l(l(this.d,133),139))),277)},h.Uc=function(){var t;return t=this.b,l(t||(this.b=new Mk(this.a,l(l(this.d,133),139))),277)},h.Wc=function(){return l(l(this.d,133),139)},h.Xc=function(t){return l(l(this.d,133),139).Xc(t)},h.Yc=function(t){return l(l(this.d,133),139).Yc(t)},h.Zc=function(t,n){return new H_(this.a,l(l(this.d,133),139).Zc(t,n))},h.$c=function(t){return l(l(this.d,133),139).$c(t)},h._c=function(t){return l(l(this.d,133),139)._c(t)},h.ad=function(t,n){return new H_(this.a,l(l(this.d,133),139).ad(t,n))},I(gn,"AbstractMapBasedMultimap/NavigableAsMap",446),D(502,327,s3t,uO),h.Nc=function(){return this.b.ec().Nc()},I(gn,"AbstractMapBasedMultimap/SortedKeySet",502),D(401,502,vTe,Mk),I(gn,"AbstractMapBasedMultimap/NavigableKeySet",401),D(551,31,Qy,nU),h.Fc=function(t){var n,r;return Wl(this),r=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,r&&jO(this)),n},h.Gc=function(t){var n,r,s;return t.dc()?!1:(s=(Wl(this),this.d.gc()),n=this.d.Gc(t),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&jO(this)),n)},h.$b=function(){var t;t=(Wl(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,mH(this))},h.Hc=function(t){return Wl(this),this.d.Hc(t)},h.Ic=function(t){return Wl(this),this.d.Ic(t)},h.Fb=function(t){return t===this?!0:(Wl(this),Fi(this.d,t))},h.Hb=function(){return Wl(this),ts(this.d)},h.Kc=function(){return Wl(this),new V4e(this)},h.Mc=function(t){var n;return Wl(this),n=this.d.Mc(t),n&&(--this.f.d,mH(this)),n},h.gc=function(){return gnt(this)},h.Nc=function(){return Wl(this),this.d.Nc()},h.Ib=function(){return Wl(this),Tc(this.d)},I(gn,"AbstractMapBasedMultimap/WrappedCollection",551);var bf=Ts(_r,"List");D(744,551,{20:1,31:1,16:1,15:1},x5e),h.jd=function(t){Wm(this,t)},h.Nc=function(){return Wl(this),this.d.Nc()},h.bd=function(t,n){var r;Wl(this),r=this.d.dc(),l(this.d,15).bd(t,n),++this.a.d,r&&jO(this)},h.cd=function(t,n){var r,s,o;return n.dc()?!1:(o=(Wl(this),this.d.gc()),r=l(this.d,15).cd(t,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&jO(this)),r)},h.Xb=function(t){return Wl(this),l(this.d,15).Xb(t)},h.dd=function(t){return Wl(this),l(this.d,15).dd(t)},h.ed=function(){return Wl(this),new Unt(this)},h.fd=function(t){return Wl(this),new dot(this,t)},h.gd=function(t){var n;return Wl(this),n=l(this.d,15).gd(t),--this.a.d,mH(this),n},h.hd=function(t,n){return Wl(this),l(this.d,15).hd(t,n)},h.kd=function(t,n){return Wl(this),rut(this.a,this.e,l(this.d,15).kd(t,n),this.b?this.b:this)},I(gn,"AbstractMapBasedMultimap/WrappedList",744),D(1126,744,{20:1,31:1,16:1,15:1,59:1},Ort),I(gn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),D(628,1,Ia,V4e),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Qk(this),this.b.Ob()},h.Pb=function(){return Qk(this),this.b.Pb()},h.Qb=function(){mrt(this)},I(gn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),D(745,628,dg,Unt,dot),h.Qb=function(){mrt(this)},h.Rb=function(t){var n;n=gnt(this.a)==0,(Qk(this),l(this.b,128)).Rb(t),++this.a.a.d,n&&jO(this.a)},h.Sb=function(){return(Qk(this),l(this.b,128)).Sb()},h.Tb=function(){return(Qk(this),l(this.b,128)).Tb()},h.Ub=function(){return(Qk(this),l(this.b,128)).Ub()},h.Vb=function(){return(Qk(this),l(this.b,128)).Vb()},h.Wb=function(t){(Qk(this),l(this.b,128)).Wb(t)},I(gn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),D(743,551,s3t,l4e),h.Nc=function(){return Wl(this),this.d.Nc()},I(gn,"AbstractMapBasedMultimap/WrappedSortedSet",743),D(1125,743,vTe,jnt),I(gn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),D(1124,551,Tl,eit),h.Nc=function(){return Wl(this),this.d.Nc()},I(gn,"AbstractMapBasedMultimap/WrappedSet",1124),D(1133,1,{},P),h.Kb=function(t){return Dvn(l(t,44))},I(gn,"AbstractMapBasedMultimap/lambda$1$Type",1133),D(1132,1,{},Mie),h.Kb=function(t){return new hw(this.a,t)},I(gn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var mv=Ts(_r,"Map/Entry");D(358,1,Wle),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),yd(this.ld(),n.ld())&&yd(this.md(),n.md())):!1},h.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:ts(t))^(n==null?0:ts(n))},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return this.ld()+"="+this.md()},I(gn,a3t,358),D(2086,31,Qy),h.$b=function(){this.od().$b()},h.Hc=function(t){var n;return De(t,44)?(n=l(t,44),Jbn(this.od(),n.ld(),n.md())):!1},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),Rct(this.od(),n.ld(),n.md())):!1},h.gc=function(){return this.od().d},I(gn,"Multimaps/Entries",2086),D(749,2086,Qy,Cz),h.Kc=function(){return this.a.kc()},h.od=function(){return this.a},h.Nc=function(){return this.a.lc()},I(gn,"AbstractMultimap/Entries",749),D(750,749,Tl,u3e),h.Nc=function(){return this.a.lc()},h.Fb=function(t){return p9e(this,t)},h.Hb=function(){return Yft(this)},I(gn,"AbstractMultimap/EntrySet",750),D(751,31,Qy,ab),h.$b=function(){this.a.$b()},h.Hc=function(t){return Xyn(this.a,t)},h.Kc=function(){return this.a.nc()},h.gc=function(){return this.a.d},h.Nc=function(){return this.a.oc()},I(gn,"AbstractMultimap/Values",751),D(2087,31,{849:1,20:1,31:1,16:1}),h.Jc=function(t){Xr(t),G5(this).Jc(new Bie(t))},h.Nc=function(){var t;return t=G5(this).Nc(),Gue(t,new be,64|t.yd()&1296,this.a.d)},h.Fc=function(t){return m3e(),!0},h.Gc=function(t){return Xr(this),Xr(t),De(t,552)?tmn(l(t,849)):!t.dc()&&ace(this,t.Kc())},h.Hc=function(t){var n;return n=l(By(tx(this.a),t),16),(n?n.gc():0)>0},h.Fb=function(t){return TEn(this,t)},h.Hb=function(){return ts(G5(this))},h.dc=function(){return G5(this).dc()},h.Mc=function(t){return x2t(this,t,1)>0},h.Ib=function(){return Tc(G5(this))},I(gn,"AbstractMultiset",2087),D(2089,2068,Tl),h.$b=function(){EU(this.a.a)},h.Hc=function(t){var n,r;return De(t,504)?(r=l(t,425),l(r.a.md(),16).gc()<=0?!1:(n=hct(this.a,r.a.ld()),n==l(r.a.md(),16).gc())):!1},h.Mc=function(t){var n,r,s,o;return De(t,504)&&(r=l(t,425),n=r.a.ld(),s=l(r.a.md(),16).gc(),s!=0)?(o=this.a,dTn(o,n,s)):!1},I(gn,"Multisets/EntrySet",2089),D(1139,2089,Tl,Die),h.Kc=function(){return new iZe(Zst(tx(this.a.a)).Kc())},h.gc=function(){return tx(this.a.a).gc()},I(gn,"AbstractMultiset/EntrySet",1139),D(627,742,av),h.hc=function(){return this.pd()},h.jc=function(){return this.qd()},h.cc=function(t){return this.rd(t)},h.fc=function(t){return this.sd(t)},h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.qd=function(){return Cn(),Cn(),vK},h.Fb=function(t){return Fce(this,t)},h.rd=function(t){return l($i(this,t),21)},h.sd=function(t){return l(jN(this,t),21)},h.mc=function(t){return Cn(),new Ck(l(t,21))},h.pc=function(t,n){return new eit(this,t,l(n,21))},I(gn,"AbstractSetMultimap",627),D(1723,627,av),h.hc=function(){return new n2(this.b)},h.pd=function(){return new n2(this.b)},h.jc=function(){return q5e(new n2(this.b))},h.qd=function(){return q5e(new n2(this.b))},h.cc=function(t){return l(l($i(this,t),21),87)},h.rd=function(t){return l(l($i(this,t),21),87)},h.fc=function(t){return l(l(jN(this,t),21),87)},h.sd=function(t){return l(l(jN(this,t),21),87)},h.mc=function(t){return De(t,277)?q5e(l(t,277)):(Cn(),new Yye(l(t,87)))},h.Zb=function(){var t;return t=this.f,t||(this.f=De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c))},h.pc=function(t,n){return De(n,277)?new jnt(this,t,l(n,277)):new l4e(this,t,l(n,87))},I(gn,"AbstractSortedSetMultimap",1723),D(1724,1723,av),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c)),133),139)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Mk(this,l(this.c,139)):De(this.c,133)?new uO(this,l(this.c,133)):new U5(this,this.c)),87),277)},h.bc=function(){return De(this.c,139)?new Mk(this,l(this.c,139)):De(this.c,133)?new uO(this,l(this.c,133)):new U5(this,this.c)},I(gn,"AbstractSortedKeySortedSetMultimap",1724),D(2109,1,{2046:1}),h.Fb=function(t){return W8n(this,t)},h.Hb=function(){var t;return X7e((t=this.g,t||(this.g=new WI(this))))},h.Ib=function(){var t;return cpt((t=this.f,t||(this.f=new Vye(this))))},I(gn,"AbstractTable",2109),D(679,q1,Tl,WI),h.$b=function(){bZe()},h.Hc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(By(Tat(this.a),pb(n.c.e,n.b)),85),!!r&&T8e(r.vc(),new hw(pb(n.c.c,n.a),cx(n.c,n.b,n.a)))):!1},h.Kc=function(){return Jpn(this.a)},h.Mc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(By(Tat(this.a),pb(n.c.e,n.b)),85),!!r&&L4n(r.vc(),new hw(pb(n.c.c,n.a),cx(n.c,n.b,n.a)))):!1},h.gc=function(){return Sst(this.a)},h.Nc=function(){return imn(this.a)},I(gn,"AbstractTable/CellSet",679),D(2025,31,Qy,Oie),h.$b=function(){bZe()},h.Hc=function(t){return $xn(this.a,t)},h.Kc=function(){return Zpn(this.a)},h.gc=function(){return Sst(this.a)},h.Nc=function(){return Fct(this.a)},I(gn,"AbstractTable/Values",2025),D(1697,1696,av),I(gn,"ArrayListMultimapGwtSerializationDependencies",1697),D(520,1697,av,bse,l6e),h.hc=function(){return new Pu(this.a)},h.a=0,I(gn,"ArrayListMultimap",520),D(678,2109,{678:1,2046:1,3:1},N2t),I(gn,"ArrayTable",678),D(2021,399,rE,vrt),h.Xb=function(t){return new t8e(this.a,t)},I(gn,"ArrayTable/1",2021),D(2022,1,{},Aie),h.td=function(t){return new t8e(this.a,t)},I(gn,"ArrayTable/1methodref$getCell$Type",2022),D(2110,1,{697:1}),h.Fb=function(t){var n;return t===this?!0:De(t,479)?(n=l(t,697),yd(pb(this.c.e,this.b),pb(n.c.e,n.b))&&yd(pb(this.c.c,this.a),pb(n.c.c,n.a))&&yd(cx(this.c,this.b,this.a),cx(n.c,n.b,n.a))):!1},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[pb(this.c.e,this.b),pb(this.c.c,this.a),cx(this.c,this.b,this.a)]))},h.Ib=function(){return"("+pb(this.c.e,this.b)+","+pb(this.c.c,this.a)+")="+cx(this.c,this.b,this.a)},I(gn,"Tables/AbstractCell",2110),D(479,2110,{479:1,697:1},t8e),h.a=0,h.b=0,h.d=0,I(gn,"ArrayTable/2",479),D(2024,1,{},Lie),h.td=function(t){return cht(this.a,t)},I(gn,"ArrayTable/2methodref$getValue$Type",2024),D(2023,399,rE,wrt),h.Xb=function(t){return cht(this.a,t)},I(gn,"ArrayTable/3",2023),D(2077,2065,t3),h.$b=function(){hH(this.kc())},h.vc=function(){return new _z(this)},h.lc=function(){return new rot(this.kc(),this.gc())},I(gn,"Maps/IteratorBasedAbstractMap",2077),D(842,2077,t3),h.$b=function(){throw ue(new Qr)},h._b=function(t){return PZe(this.c,t)},h.kc=function(){return new yrt(this,this.c.b.c.gc())},h.lc=function(){return jae(this.c.b.c.gc(),16,new Ez(this))},h.xc=function(t){var n;return n=l(U_(this.c,t),17),n?this.vd(n.a):null},h.dc=function(){return this.c.b.c.dc()},h.ec=function(){return Kae(this.c)},h.zc=function(t,n){var r;if(r=l(U_(this.c,t),17),!r)throw ue(new Wn(this.ud()+" "+t+" not in "+Kae(this.c)));return this.wd(r.a,n)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.b.c.gc()},I(gn,"ArrayTable/ArrayMap",842),D(2020,1,{},Ez),h.td=function(t){return Cat(this.a,t)},I(gn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),D(2018,358,Wle,oet),h.ld=function(){return ffn(this.a,this.b)},h.md=function(){return this.a.vd(this.b)},h.nd=function(t){return this.a.wd(this.b,t)},h.b=0,I(gn,"ArrayTable/ArrayMap/1",2018),D(2019,399,rE,yrt),h.Xb=function(t){return Cat(this.a,t)},I(gn,"ArrayTable/ArrayMap/2",2019),D(2017,842,t3,fat),h.ud=function(){return"Column"},h.vd=function(t){return cx(this.b,this.a,t)},h.wd=function(t,n){return P0t(this.b,this.a,t,n)},h.a=0,I(gn,"ArrayTable/Row",2017),D(843,842,t3,Vye),h.vd=function(t){return new fat(this.a,t)},h.zc=function(t,n){return l(n,85),Oun()},h.wd=function(t,n){return l(n,85),Nun()},h.ud=function(){return"Row"},I(gn,"ArrayTable/RowMap",843),D(1157,1,Ph,cet),h.Ad=function(t){return(this.a.yd()&-262&t)!=0},h.yd=function(){return this.a.yd()&-262},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Nb(new het(t,this.b))},h.Bd=function(t){return this.a.Bd(new uet(t,this.b))},I(gn,"CollectSpliterators/1",1157),D(1158,1,hr,uet),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(gn,"CollectSpliterators/1/lambda$0$Type",1158),D(1159,1,hr,het),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(gn,"CollectSpliterators/1/lambda$1$Type",1159),D(1154,1,Ph,Pit),h.Ad=function(t){return((16464|this.b)&t)!=0},h.yd=function(){return 16464|this.b},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Qe(new det(t,this.c))},h.Bd=function(t){return this.a.Re(new fet(t,this.c))},h.b=0,I(gn,"CollectSpliterators/1WithCharacteristics",1154),D(1155,1,MP,fet),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(gn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),D(1156,1,MP,det),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(gn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),D(1150,1,Ph),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return this.e&&(this.b=Oye(this.b,this.e.zd())),Oye(this.b,0)},h.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new get(this,t)),this.b=0},h.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return O_(this.b,DP)&&(this.b=Df(this.b,1)),!0;if(this.e=null,!this.c.Bd(new Nie(this)))return!1}},h.a=0,h.b=0,I(gn,"CollectSpliterators/FlatMapSpliterator",1150),D(1152,1,hr,Nie),h.Cd=function(t){l0n(this.a,t)},I(gn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),D(1153,1,hr,get),h.Cd=function(t){Ppn(this.a,this.b,t)},I(gn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),D(1151,1150,Ph,tut),I(gn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),D(253,1,Yle),h.Fd=function(t){return this.Ed(l(t,253))},h.Ed=function(t){var n;return t==(ase(),N0e)?1:t==(sse(),O0e)?-1:(n=(aH(),SN(this.a,t.a)),n!=0?n:De(this,526)==De(t,526)?0:De(this,526)?1:-1)},h.Id=function(){return this.a},h.Fb=function(t){return xxe(this,t)},I(gn,"Cut",253),D(1823,253,Yle,QJe),h.Ed=function(t){return t==this?0:1},h.Gd=function(t){throw ue(new Uwe)},h.Hd=function(t){t.a+="+∞)"},h.Id=function(){throw ue(new ic(c3t))},h.Hb=function(){return Wg(),axe(this)},h.Jd=function(t){return!1},h.Ib=function(){return"+∞"};var O0e;I(gn,"Cut/AboveAll",1823),D(526,253,{253:1,526:1,3:1,34:1},Srt),h.Gd=function(t){mu((t.a+="(",t),this.a)},h.Hd=function(t){yb(mu(t,this.a),93)},h.Hb=function(){return~ts(this.a)},h.Jd=function(t){return aH(),SN(this.a,t)<0},h.Ib=function(){return"/"+this.a+"\\"},I(gn,"Cut/AboveValue",526),D(1822,253,Yle,XJe),h.Ed=function(t){return t==this?0:-1},h.Gd=function(t){t.a+="(-∞"},h.Hd=function(t){throw ue(new Uwe)},h.Id=function(){throw ue(new ic(c3t))},h.Hb=function(){return Wg(),axe(this)},h.Jd=function(t){return!0},h.Ib=function(){return"-∞"};var N0e;I(gn,"Cut/BelowAll",1822),D(1824,253,Yle,_rt),h.Gd=function(t){mu((t.a+="[",t),this.a)},h.Hd=function(t){yb(mu(t,this.a),41)},h.Hb=function(){return ts(this.a)},h.Jd=function(t){return aH(),SN(this.a,t)<=0},h.Ib=function(){return"\\"+this.a+"/"},I(gn,"Cut/BelowValue",1824),D(547,1,gg),h.Jc=function(t){Za(this,t)},h.Ib=function(){return X4n(l(NH(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},I(gn,"FluentIterable",547),D(442,547,gg,B_),h.Kc=function(){return new lr(fr(this.a.Kc(),new j))},I(gn,"FluentIterable/2",442),D(1059,547,gg,Pnt),h.Kc=function(){return ag(this)},I(gn,"FluentIterable/3",1059),D(724,399,rE,Gye),h.Xb=function(t){return this.a[t].Kc()},I(gn,"FluentIterable/3/1",724),D(2070,1,{}),h.Ib=function(){return Tc(this.Kd().b)},I(gn,"ForwardingObject",2070),D(2071,2070,u3t),h.Kd=function(){return this.Ld()},h.Jc=function(t){Za(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new vn(null,this.Nc())},h.Fc=function(t){return this.Ld(),FZe()},h.Gc=function(t){return this.Ld(),RZe()},h.$b=function(){this.Ld(),jZe()},h.Hc=function(t){return this.Ld().Hc(t)},h.Ic=function(t){return this.Ld().Ic(t)},h.dc=function(){return this.Ld().b.dc()},h.Kc=function(){return this.Ld().Kc()},h.Mc=function(t){return this.Ld(),$Ze()},h.gc=function(){return this.Ld().b.gc()},h.Pc=function(){return this.Ld().Pc()},h.Qc=function(t){return this.Ld().Qc(t)},I(gn,"ForwardingCollection",2071),D(2078,31,wTe),h.Kc=function(){return this.Od()},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},h.$b=function(){throw ue(new Qr)},h.Hc=function(t){return t!=null&&Fy(this,t,!1)},h.Nd=function(){switch(this.gc()){case 0:return Sw(),Sw(),P0e;case 1:return Sw(),new $ae(Xr(this.Od().Pb()));default:return new C5e(this,this.Pc())}},h.Mc=function(t){throw ue(new Qr)},I(gn,"ImmutableCollection",2078),D(727,2078,wTe,qwe),h.Kc=function(){return ux(this.a.Kc())},h.Hc=function(t){return t!=null&&this.a.Hc(t)},h.Ic=function(t){return this.a.Ic(t)},h.dc=function(){return this.a.dc()},h.Od=function(){return ux(this.a.Kc())},h.gc=function(){return this.a.gc()},h.Pc=function(){return this.a.Pc()},h.Qc=function(t){return this.a.Qc(t)},h.Ib=function(){return Tc(this.a)},I(gn,"ForwardingImmutableCollection",727),D(307,2078,iE),h.Kc=function(){return this.Od()},h.ed=function(){return this.Pd(0)},h.fd=function(t){return this.Pd(t)},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.kd=function(t,n){return this.Qd(t,n)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Md=function(){return this},h.Fb=function(t){return hEn(this,t)},h.Hb=function(){return syn(this)},h.dd=function(t){return t==null?-1:A7n(this,t)},h.Od=function(){return this.Pd(0)},h.Pd=function(t){return vae(this,t)},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.Qd=function(t,n){var r;return VU((r=new Eet(this),new c2(r,t,n)))};var P0e;I(gn,"ImmutableList",307),D(2105,307,iE),h.Kc=function(){return ux(this.Rd().Kc())},h.kd=function(t,n){return VU(this.Rd().kd(t,n))},h.Hc=function(t){return t!=null&&this.Rd().Hc(t)},h.Ic=function(t){return this.Rd().Ic(t)},h.Fb=function(t){return Fi(this.Rd(),t)},h.Xb=function(t){return pb(this,t)},h.Hb=function(){return ts(this.Rd())},h.dd=function(t){return this.Rd().dd(t)},h.dc=function(){return this.Rd().dc()},h.Od=function(){return ux(this.Rd().Kc())},h.gc=function(){return this.Rd().gc()},h.Qd=function(t,n){return VU(this.Rd().kd(t,n))},h.Pc=function(){return this.Rd().Qc(We(ka,jn,1,this.Rd().gc(),5,1))},h.Qc=function(t){return this.Rd().Qc(t)},h.Ib=function(){return Tc(this.Rd())},I(gn,"ForwardingImmutableList",2105),D(729,1,sE),h.vc=function(){return Rm(this)},h.wc=function(t){vA(this,t)},h.ec=function(){return Kae(this)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.Cc=function(){return this.Vd()},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.xc(t)!=null},h.uc=function(t){return this.Vd().Hc(t)},h.Td=function(){return new sJe(this)},h.Ud=function(){return new aJe(this)},h.Fb=function(t){return Qyn(this,t)},h.Hb=function(){return Rm(this).Hb()},h.dc=function(){return this.gc()==0},h.zc=function(t,n){return Iun()},h.Bc=function(t){throw ue(new Qr)},h.Ib=function(){return R9n(this)},h.Vd=function(){return this.e?this.e:this.e=this.Ud()},h.c=null,h.d=null,h.e=null;var N6t;I(gn,"ImmutableMap",729),D(730,729,sE),h._b=function(t){return PZe(this,t)},h.uc=function(t){return Det(this.b,t)},h.Sd=function(){return D1t(new Iie(this))},h.Td=function(){return D1t(Kat(this.b))},h.Ud=function(){return wd(),new qwe(Gat(this.b))},h.Fb=function(t){return Iet(this.b,t)},h.xc=function(t){return U_(this,t)},h.Hb=function(){return ts(this.b.c)},h.dc=function(){return this.b.c.dc()},h.gc=function(){return this.b.c.gc()},h.Ib=function(){return Tc(this.b.c)},I(gn,"ForwardingImmutableMap",730),D(2072,2071,Xle),h.Kd=function(){return this.Wd()},h.Ld=function(){return this.Wd()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return t===this||this.Wd().Fb(t)},h.Hb=function(){return this.Wd().Hb()},I(gn,"ForwardingSet",2072),D(1085,2072,Xle,Iie),h.Kd=function(){return Yk(this.a.b)},h.Ld=function(){return Yk(this.a.b)},h.Hc=function(t){if(De(t,44)&&l(t,44).ld()==null)return!1;try{return Met(Yk(this.a.b),t)}catch(n){if(n=ms(n),De(n,212))return!1;throw ue(n)}},h.Wd=function(){return Yk(this.a.b)},h.Qc=function(t){var n;return n=Dot(Yk(this.a.b),t),Yk(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=jq(b.Math.abs(r)%60),(ypt(),Z6t)[this.q.getDay()]+" "+e7t[this.q.getMonth()]+" "+jq(this.q.getDate())+" "+jq(this.q.getHours())+":"+jq(this.q.getMinutes())+":"+jq(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var pK=I(_r,"Date",206);D(2015,206,v3t,Hgt),h.a=!1,h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,h.g=!1,h.i=0,h.j=0,h.k=0,h.n=0,h.o=0,h.p=0,I("com.google.gwt.i18n.shared.impl","DateRecord",2015),D(2064,1,{}),h.pe=function(){return null},h.qe=function(){return null},h.re=function(){return null},h.se=function(){return null},h.te=function(){return null},I(Lx,"JSONValue",2064),D(221,2064,{221:1},Yp,Oz),h.Fb=function(t){return De(t,221)?f6e(this.a,l(t,221).a):!1},h.oe=function(){return run},h.Hb=function(){return t6e(this.a)},h.pe=function(){return this},h.Ib=function(){var t,n,r;for(r=new Eh("["),n=0,t=this.a.length;n0&&(r.a+=","),mu(r,My(this,n));return r.a+="]",r.a},I(Lx,"JSONArray",221),D(493,2064,{493:1},zc),h.oe=function(){return iun},h.qe=function(){return this},h.Ib=function(){return Hn(),""+this.a},h.a=!1;var z6t,q6t;I(Lx,"JSONBoolean",493),D(997,63,gp,sZe),I(Lx,"JSONException",997),D(1036,2064,{},G),h.oe=function(){return sun},h.Ib=function(){return cl};var H6t;I(Lx,"JSONNull",1036),D(263,2064,{263:1},yk),h.Fb=function(t){return De(t,263)?this.a==l(t,263).a:!1},h.oe=function(){return tun},h.Hb=function(){return $8(this.a)},h.re=function(){return this},h.Ib=function(){return this.a+""},h.a=0,I(Lx,"JSONNumber",263),D(190,2064,{190:1},D8,xk),h.Fb=function(t){return De(t,190)?f6e(this.a,l(t,190).a):!1},h.oe=function(){return nun},h.Hb=function(){return t6e(this.a)},h.se=function(){return this},h.Ib=function(){var t,n,r,s,o,f,g;for(g=new Eh("{"),t=!0,f=yce(this,We($t,dt,2,0,6,1)),r=f,s=0,o=r.length;s=0?":"+this.c:"")+")"},h.c=0;var E_e=I(Gc,"StackTraceElement",319);O6t={3:1,484:1,34:1,2:1};var $t=I(Gc,yTe,2);D(111,427,{484:1},e2,f_,Af),I(Gc,"StringBuffer",111),D(104,427,{484:1},lb,A5,Eh),I(Gc,"StringBuilder",104),D(702,77,whe,v3e),I(Gc,"StringIndexOutOfBoundsException",702),D(2145,1,{});var K6t;D(48,63,{3:1,103:1,63:1,82:1,48:1},Qr,Jp),I(Gc,"UnsupportedOperationException",48),D(247,242,{3:1,34:1,242:1,247:1},qN,L3e),h.Fd=function(t){return dvt(this,l(t,247))},h.ue=function(){return qy(zvt(this))},h.Fb=function(t){var n;return this===t?!0:De(t,247)?(n=l(t,247),this.e==n.e&&dvt(this,n)==0):!1},h.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=tu(this.f),this.b=Yr(xa(t,-1)),this.b=33*this.b+Yr(xa(Tw(t,32),-1)),this.b=17*this.b+da(this.e),this.b):(this.b=17*S1t(this.c)+da(this.e),this.b)},h.Ib=function(){return zvt(this)},h.a=0,h.b=0,h.d=0,h.e=0,h.f=0;var W6t,vv,C_e,S_e,__e,A_e,L_e,M_e,H0e=I("java.math","BigDecimal",247);D(92,242,{3:1,34:1,242:1,92:1},tp,vct,$m,_dt,bb),h.Fd=function(t){return Tdt(this,l(t,92))},h.ue=function(){return qy(Vle(this,0))},h.Fb=function(t){return H8e(this,t)},h.Hb=function(){return S1t(this)},h.Ib=function(){return Vle(this,0)},h.b=-2,h.c=0,h.d=0,h.e=0;var Y6t,bK,X6t,U0e,mK,FL,M6=I("java.math","BigInteger",92),Q6t,J6t,zx,RL;D(498,2065,t3),h.$b=function(){Dl(this)},h._b=function(t){return Hu(this,t)},h.uc=function(t){return o1t(this,t,this.i)||o1t(this,t,this.f)},h.vc=function(){return new Cr(this)},h.xc=function(t){return or(this,t)},h.zc=function(t,n){return Ti(this,t,n)},h.Bc=function(t){return ox(this,t)},h.gc=function(){return g_(this)},h.g=0,I(_r,"AbstractHashMap",498),D(267,q1,Tl,Cr),h.$b=function(){this.a.$b()},h.Hc=function(t){return Wct(this,t)},h.Kc=function(){return new Xm(this.a)},h.Mc=function(t){var n;return Wct(this,t)?(n=l(t,44).ld(),this.a.Bc(n),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractHashMap/EntrySet",267),D(268,1,Ia,Xm),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return zw(this)},h.Ob=function(){return this.b},h.Qb=function(){Tht(this)},h.b=!1,h.d=0,I(_r,"AbstractHashMap/EntrySetIterator",268),D(426,1,Ia,xr),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Ese(this)},h.Pb=function(){return X5e(this)},h.Qb=function(){fh(this)},h.b=0,h.c=-1,I(_r,"AbstractList/IteratorImpl",426),D(98,426,dg,Ua),h.Qb=function(){fh(this)},h.Rb=function(t){wy(this,t)},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Ub=function(){return br(this.b>0),this.a.Xb(this.c=--this.b)},h.Vb=function(){return this.b-1},h.Wb=function(t){my(this.c!=-1),this.a.hd(this.c,t)},I(_r,"AbstractList/ListIteratorImpl",98),D(244,56,aE,c2),h.bd=function(t,n){Sy(t,this.b),this.c.bd(this.a+t,n),++this.b},h.Xb=function(t){return Sn(t,this.b),this.c.Xb(this.a+t)},h.gd=function(t){var n;return Sn(t,this.b),n=this.c.gd(this.a+t),--this.b,n},h.hd=function(t,n){return Sn(t,this.b),this.c.hd(this.a+t,n)},h.gc=function(){return this.b},h.a=0,h.b=0,I(_r,"AbstractList/SubList",244),D(266,q1,Tl,pr),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new Di(t)},h.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractMap/1",266),D(541,1,Ia,Di),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.ld()},h.Qb=function(){this.a.Qb()},I(_r,"AbstractMap/1/1",541),D(231,31,Qy,pi),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new fs(t)},h.gc=function(){return this.a.gc()},I(_r,"AbstractMap/2",231),D(301,1,Ia,fs),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.md()},h.Qb=function(){this.a.Qb()},I(_r,"AbstractMap/2/1",301),D(494,1,{494:1,44:1}),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),eu(this.d,n.ld())&&eu(this.e,n.md())):!1},h.ld=function(){return this.d},h.md=function(){return this.e},h.Hb=function(){return $5(this.d)^$5(this.e)},h.nd=function(t){return m4e(this,t)},h.Ib=function(){return this.d+"="+this.e},I(_r,"AbstractMap/AbstractEntry",494),D(397,494,{494:1,397:1,44:1},pq),I(_r,"AbstractMap/SimpleEntry",397),D(2082,1,khe),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),eu(this.ld(),n.ld())&&eu(this.md(),n.md())):!1},h.Hb=function(){return $5(this.ld())^$5(this.md())},h.Ib=function(){return this.ld()+"="+this.md()},I(_r,a3t,2082),D(2090,2065,mTe),h.Xc=function(t){return mse(this.Ee(t))},h.tc=function(t){return elt(this,t)},h._b=function(t){return v4e(this,t)},h.vc=function(){return new Rs(this)},h.Tc=function(){return gat(this.Ge())},h.Yc=function(t){return mse(this.He(t))},h.xc=function(t){var n;return n=t,dc(this.Fe(n))},h.$c=function(t){return mse(this.Ie(t))},h.ec=function(){return new Fs(this)},h.Vc=function(){return gat(this.Je())},h._c=function(t){return mse(this.Ke(t))},I(_r,"AbstractNavigableMap",2090),D(629,q1,Tl,Rs),h.Hc=function(t){return De(t,44)&&elt(this.b,l(t,44))},h.Kc=function(){return this.b.De()},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),this.b.Le(n)):!1},h.gc=function(){return this.b.gc()},I(_r,"AbstractNavigableMap/EntrySet",629),D(1146,q1,vTe,Fs),h.Nc=function(){return new dq(this)},h.$b=function(){this.a.$b()},h.Hc=function(t){return v4e(this.a,t)},h.Kc=function(){var t;return t=this.a.vc().b.De(),new ks(t)},h.Mc=function(t){return v4e(this.a,t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractNavigableMap/NavigableKeySet",1146),D(1147,1,Ia,ks),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Ese(this.a.a)},h.Pb=function(){var t;return t=Frt(this.a),t.ld()},h.Qb=function(){Hit(this.a)},I(_r,"AbstractNavigableMap/NavigableKeySet/1",1147),D(2103,31,Qy),h.Fc=function(t){return W8(qT(this,t),cE),!0},h.Gc=function(t){return tr(t),UO(t!=this,"Can't add a queue to itself"),Ga(this,t)},h.$b=function(){for(;oce(this)!=null;);},I(_r,"AbstractQueue",2103),D(310,31,{4:1,20:1,31:1,16:1},H5,Hct),h.Fc=function(t){return k6e(this,t),!0},h.$b=function(){A6e(this)},h.Hc=function(t){return L0t(new rA(this),t)},h.dc=function(){return h_(this)},h.Kc=function(){return new rA(this)},h.Mc=function(t){return $2n(new rA(this),t)},h.gc=function(){return this.c-this.b&this.a.length-1},h.Nc=function(){return new kn(this,272)},h.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.lengthn&&Ss(t,n,null),t},h.b=0,h.c=0,I(_r,"ArrayDeque",310),D(459,1,Ia,rA),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a!=this.b},h.Pb=function(){return UU(this)},h.Qb=function(){Cft(this)},h.a=0,h.b=0,h.c=-1,I(_r,"ArrayDeque/IteratorImpl",459),D(13,56,x3t,mt,Pu,Ml),h.bd=function(t,n){kw(this,t,n)},h.Fc=function(t){return wt(this,t)},h.cd=function(t,n){return p8e(this,t,n)},h.Gc=function(t){return aa(this,t)},h.$b=function(){uy(this.c,0)},h.Hc=function(t){return bc(this,t,0)!=-1},h.Jc=function(t){Uu(this,t)},h.Xb=function(t){return Rt(this,t)},h.dd=function(t){return bc(this,t,0)},h.dc=function(){return this.c.length==0},h.Kc=function(){return new K(this)},h.gd=function(t){return l2(this,t)},h.Mc=function(t){return sl(this,t)},h.ce=function(t,n){fct(this,t,n)},h.hd=function(t,n){return nf(this,t,n)},h.gc=function(){return this.c.length},h.jd=function(t){Gs(this,t)},h.Pc=function(){return oH(this.c)},h.Qc=function(t){return j1(this,t)};var LOn=I(_r,"ArrayList",13);D(7,1,Ia,K),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Oc(this)},h.Pb=function(){return re(this)},h.Qb=function(){J_(this)},h.a=0,h.b=-1,I(_r,"ArrayList/1",7),D(2112,b.Function,{},Pe),h.Me=function(t,n){return Xi(t,n)},D(151,56,k3t,Ll),h.Hc=function(t){return Sft(this,t)!=-1},h.Jc=function(t){var n,r,s,o;for(tr(t),r=this.a,s=0,o=r.length;s0)throw ue(new Wn(ATe+t+" greater than "+this.e));return this.f.Te()?Pot(this.c,this.b,this.a,t,n):dct(this.c,t,n)},h.zc=function(t,n){if(!Pue(this.c,this.f,t,this.b,this.a,this.e,this.d))throw ue(new Wn(t+" outside the range "+this.b+" to "+this.e));return G0t(this.c,t,n)},h.Bc=function(t){var n;return n=t,Pue(this.c,this.f,n,this.b,this.a,this.e,this.d)?Bot(this.c,n):null},h.Le=function(t){return _H(this,t.ld())&&K6e(this.c,t)},h.gc=function(){var t,n,r;if(this.f.Te()?this.a?n=PT(this.c,this.b,!0):n=PT(this.c,this.b,!1):n=r7e(this.c),!(n&&_H(this,n.d)&&n))return 0;for(t=0,r=new xce(this.c,this.f,this.b,this.a,this.e,this.d);Ese(r.a);r.b=l(X5e(r.a),44))++t;return t},h.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw ue(new Wn(ATe+t+C3t+this.b));return this.f.Ue()?Pot(this.c,t,n,this.e,this.d):gct(this.c,t,n)},h.a=!1,h.d=!1,I(_r,"TreeMap/SubMap",631),D(304,22,She,gq),h.Te=function(){return!1},h.Ue=function(){return!1};var K0e,W0e,Y0e,X0e,wK=Br(_r,"TreeMap/SubMapType",304,Hr,dmn,T0n);D(1143,304,She,znt),h.Ue=function(){return!0},Br(_r,"TreeMap/SubMapType/1",1143,wK,null,null),D(1144,304,She,Xnt),h.Te=function(){return!0},h.Ue=function(){return!0},Br(_r,"TreeMap/SubMapType/2",1144,wK,null,null),D(1145,304,She,$nt),h.Te=function(){return!0},Br(_r,"TreeMap/SubMapType/3",1145,wK,null,null);var a7t;D(157,q1,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},Kwe,n2,wa),h.Nc=function(){return new dq(this)},h.Fc=function(t){return KO(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return pae(this,t)},h.gc=function(){return this.a.gc()};var POn=I(_r,"TreeSet",157);D(1082,1,{},wo),h.Ve=function(t,n){return $fn(this.a,t,n)},I(_he,"BinaryOperator/lambda$0$Type",1082),D(1083,1,{},oh),h.Ve=function(t,n){return zfn(this.a,t,n)},I(_he,"BinaryOperator/lambda$1$Type",1083),D(952,1,{},Bt),h.Kb=function(t){return t},I(_he,"Function/lambda$0$Type",952),D(395,1,ei,Vl),h.Mb=function(t){return!this.a.Mb(t)},I(_he,"Predicate/lambda$2$Type",395),D(581,1,{581:1});var o7t=I(oL,"Handler",581);D(2107,1,AP),h.xe=function(){return"DUMMY"},h.Ib=function(){return this.xe()};var F_e;I(oL,"Level",2107),D(1706,2107,AP,Ze),h.xe=function(){return"INFO"},I(oL,"Level/LevelInfo",1706),D(1843,1,{},dJe);var Q0e;I(oL,"LogManager",1843),D(1896,1,AP,qit),h.b=null,I(oL,"LogRecord",1896),D(525,1,{525:1},$oe),h.e=!1;var c7t=!1,u7t=!1,G1=!1,l7t=!1,h7t=!1;I(oL,"Logger",525),D(835,581,{581:1},Dt),I(oL,"SimpleConsoleLogHandler",835),D(108,22,{3:1,34:1,22:1,108:1},_se);var R_e,Cc,o4,uc=Br(ca,"Collector/Characteristics",108,Hr,ebn,E0n),f7t;D(758,1,{},L5e),I(ca,"CollectorImpl",758),D(1074,1,{},kt),h.Ve=function(t,n){return N4n(l(t,213),l(n,213))},I(ca,"Collectors/10methodref$merge$Type",1074),D(1075,1,{},Nn),h.Kb=function(t){return Uct(l(t,213))},I(ca,"Collectors/11methodref$toString$Type",1075),D(1076,1,{},cb),h.Kb=function(t){return Hn(),!!Tye(t)},I(ca,"Collectors/12methodref$test$Type",1076),D(144,1,{},ht),h.Yd=function(t,n){l(t,16).Fc(n)},I(ca,"Collectors/20methodref$add$Type",144),D(146,1,{},qr),h.Xe=function(){return new mt},I(ca,"Collectors/21methodref$ctor$Type",146),D(359,1,{},xt),h.Xe=function(){return new Ys},I(ca,"Collectors/23methodref$ctor$Type",359),D(360,1,{},Ri),h.Yd=function(t,n){sa(l(t,49),n)},I(ca,"Collectors/24methodref$add$Type",360),D(1069,1,{},wi),h.Ve=function(t,n){return Pet(l(t,15),l(n,16))},I(ca,"Collectors/4methodref$addAll$Type",1069),D(1073,1,{},ia),h.Yd=function(t,n){np(l(t,213),l(n,484))},I(ca,"Collectors/9methodref$add$Type",1073),D(1072,1,{},sst),h.Xe=function(){return new Qm(this.a,this.b,this.c)},I(ca,"Collectors/lambda$15$Type",1072),D(1077,1,{},Hs),h.Xe=function(){var t;return t=new u2,y2(t,(Hn(),!1),new mt),y2(t,!0,new mt),t},I(ca,"Collectors/lambda$22$Type",1077),D(1078,1,{},ub),h.Xe=function(){return he(le(ka,1),jn,1,5,[this.a])},I(ca,"Collectors/lambda$25$Type",1078),D(1079,1,{},V0),h.Yd=function(t,n){agn(this.a,Km(t))},I(ca,"Collectors/lambda$26$Type",1079),D(1080,1,{},Xp),h.Ve=function(t,n){return Ngn(this.a,Km(t),Km(n))},I(ca,"Collectors/lambda$27$Type",1080),D(1081,1,{},mo),h.Kb=function(t){return Km(t)[0]},I(ca,"Collectors/lambda$28$Type",1081),D(728,1,{},Tr),h.Ve=function(t,n){return u5e(t,n)},I(ca,"Collectors/lambda$4$Type",728),D(145,1,{},On),h.Ve=function(t,n){return pln(l(t,16),l(n,16))},I(ca,"Collectors/lambda$42$Type",145),D(361,1,{},Rn),h.Ve=function(t,n){return bln(l(t,49),l(n,49))},I(ca,"Collectors/lambda$50$Type",361),D(362,1,{},zn),h.Kb=function(t){return l(t,49)},I(ca,"Collectors/lambda$51$Type",362),D(1068,1,{},fd),h.Yd=function(t,n){$yn(this.a,l(t,85),n)},I(ca,"Collectors/lambda$7$Type",1068),D(1070,1,{},Ct),h.Ve=function(t,n){return byn(l(t,85),l(n,85),new wi)},I(ca,"Collectors/lambda$8$Type",1070),D(1071,1,{},tw),h.Kb=function(t){return d5n(this.a,l(t,85))},I(ca,"Collectors/lambda$9$Type",1071),D(550,1,{}),h.$e=function(){nA(this)},h.d=!1,I(ca,"TerminatableStream",550),D(827,550,LTe,c4e),h.$e=function(){nA(this)},I(ca,"DoubleStreamImpl",827),D(1847,736,Ph,ast),h.Re=function(t){return b7n(this,l(t,189))},h.a=null,I(ca,"DoubleStreamImpl/2",1847),D(1848,1,FP,cy),h.Pe=function(t){uhn(this.a,t)},I(ca,"DoubleStreamImpl/2/lambda$0$Type",1848),D(1845,1,FP,E8),h.Pe=function(t){chn(this.a,t)},I(ca,"DoubleStreamImpl/lambda$0$Type",1845),D(1846,1,FP,T5),h.Pe=function(t){adt(this.a,t)},I(ca,"DoubleStreamImpl/lambda$2$Type",1846),D(1397,735,Ph,Yut),h.Re=function(t){return nmn(this,l(t,202))},h.a=0,h.b=0,h.c=0,I(ca,"IntStream/5",1397),D(806,550,LTe,u4e),h.$e=function(){nA(this)},h._e=function(){return xb(this),this.a},I(ca,"IntStreamImpl",806),D(807,550,LTe,N3e),h.$e=function(){nA(this)},h._e=function(){return xb(this),Uye(),s7t},I(ca,"IntStreamImpl/Empty",807),D(1687,1,MP,C8),h.Dd=function(t){b0t(this.a,t)},I(ca,"IntStreamImpl/lambda$4$Type",1687);var BOn=Ts(ca,"Stream");D(26,550,{533:1,687:1,848:1},vn),h.$e=function(){nA(this)};var qx;I(ca,"StreamImpl",26),D(1102,500,Ph,Nit),h.Bd=function(t){for(;swn(this);){if(this.a.Bd(t))return!0;nA(this.b),this.b=null,this.a=null}return!1},I(ca,"StreamImpl/1",1102),D(1103,1,hr,e_),h.Cd=function(t){Idn(this.a,l(t,848))},I(ca,"StreamImpl/1/lambda$0$Type",1103),D(1104,1,ei,E5),h.Mb=function(t){return sa(this.a,t)},I(ca,"StreamImpl/1methodref$add$Type",1104),D(1105,500,Ph,got),h.Bd=function(t){var n;return this.a||(n=new mt,this.b.a.Nb(new eg(n)),Cn(),Gs(n,this.c),this.a=new kn(n,16)),Qht(this.a,t)},h.a=null,I(ca,"StreamImpl/5",1105),D(1106,1,hr,eg),h.Cd=function(t){wt(this.a,t)},I(ca,"StreamImpl/5/2methodref$add$Type",1106),D(737,500,Ph,i7e),h.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new Jet(this,t)););return this.b},h.b=!1,I(ca,"StreamImpl/FilterSpliterator",737),D(1096,1,hr,Jet),h.Cd=function(t){Agn(this.a,this.b,t)},I(ca,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),D(1091,736,Ph,alt),h.Re=function(t){return c0n(this,l(t,189))},I(ca,"StreamImpl/MapToDoubleSpliterator",1091),D(1095,1,hr,Zet),h.Cd=function(t){Iln(this.a,this.b,t)},I(ca,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),D(1090,735,Ph,olt),h.Re=function(t){return u0n(this,l(t,202))},I(ca,"StreamImpl/MapToIntSpliterator",1090),D(1094,1,hr,ett),h.Cd=function(t){Oln(this.a,this.b,t)},I(ca,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),D(734,500,Ph,H6e),h.Bd=function(t){return Dit(this,t)},I(ca,"StreamImpl/MapToObjSpliterator",734),D(1093,1,hr,ttt),h.Cd=function(t){Nln(this.a,this.b,t)},I(ca,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),D(1092,500,Ph,Bft),h.Bd=function(t){for(;Cse(this.b,0);){if(!this.a.Bd(new gt))return!1;this.b=Df(this.b,1)}return this.a.Bd(t)},h.b=0,I(ca,"StreamImpl/SkipSpliterator",1092),D(1097,1,hr,gt),h.Cd=function(t){},I(ca,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),D(626,1,hr,on),h.Cd=function(t){Fie(this,t)},I(ca,"StreamImpl/ValueConsumer",626),D(1098,1,hr,dn),h.Cd=function(t){Bm()},I(ca,"StreamImpl/lambda$0$Type",1098),D(1099,1,hr,Ln),h.Cd=function(t){Bm()},I(ca,"StreamImpl/lambda$1$Type",1099),D(1100,1,{},_1),h.Ve=function(t,n){return z0n(this.a,t,n)},I(ca,"StreamImpl/lambda$4$Type",1100),D(1101,1,hr,ntt),h.Cd=function(t){Kfn(this.b,this.a,t)},I(ca,"StreamImpl/lambda$5$Type",1101),D(1107,1,hr,tg),h.Cd=function(t){iyn(this.a,l(t,380))},I(ca,"TerminatableStream/lambda$0$Type",1107),D(2142,1,{}),D(2014,1,{},Io),I("javaemul.internal","ConsoleLogger",2014);var FOn=0;D(2134,1,{}),D(1830,1,hr,Oo),h.Cd=function(t){l(t,317)},I(uE,"BowyerWatsonTriangulation/lambda$0$Type",1830),D(1831,1,hr,Dm),h.Cd=function(t){Ga(this.a,l(t,317).e)},I(uE,"BowyerWatsonTriangulation/lambda$1$Type",1831),D(1832,1,hr,No),h.Cd=function(t){l(t,177)},I(uE,"BowyerWatsonTriangulation/lambda$2$Type",1832),D(1827,1,ii,Bz),h.Ne=function(t,n){return zmn(this.a,l(t,177),l(n,177))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(uE,"NaiveMinST/lambda$0$Type",1827),D(449,1,{},nw),I(uE,"NodeMicroLayout",449),D(177,1,{177:1},F8),h.Fb=function(t){var n;return De(t,177)?(n=l(t,177),eu(this.a,n.a)&&eu(this.b,n.b)||eu(this.a,n.b)&&eu(this.b,n.a)):!1},h.Hb=function(){return $5(this.a)+$5(this.b)};var ROn=I(uE,"TEdge",177);D(317,1,{317:1},Hke),h.Fb=function(t){var n;return De(t,317)?(n=l(t,317),lU(this,n.a)&&lU(this,n.b)&&lU(this,n.c)):!1},h.Hb=function(){return $5(this.a)+$5(this.b)+$5(this.c)},I(uE,"TTriangle",317),D(225,1,{225:1},zq),I(uE,"Tree",225),D(1218,1,{},Zot),I(A3t,"Scanline",1218);var d7t=Ts(A3t,L3t);D(1758,1,{},Wht),I(mg,"CGraph",1758),D(316,1,{316:1},nct),h.b=0,h.c=0,h.d=0,h.g=0,h.i=0,h.k=oa,I(mg,"CGroup",316),D(830,1,{},Xwe),I(mg,"CGroup/CGroupBuilder",830),D(60,1,{60:1},git),h.Ib=function(){var t;return this.j?Zr(this.j.Kb(this)):(Xg(yK),yK.o+"@"+(t=ww(this)>>>0,t.toString(16)))},h.f=0,h.i=oa;var yK=I(mg,"CNode",60);D(829,1,{},Qwe),I(mg,"CNode/CNodeBuilder",829);var g7t;D(1590,1,{},Us),h.ff=function(t,n){return 0},h.gf=function(t,n){return 0},I(mg,D3t,1590),D(1853,1,{},uo),h.cf=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(C=gs,s=new K(t.a.b);s.as.d.c||s.d.c==f.d.c&&s.d.b0?t+this.n.d+this.n.a:0},h.kf=function(){var t,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=z8e(this,Fue(this,null,!0));else for(n=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),r=0,s=n.length;r0?o+this.n.b+this.n.c:0},h.lf=function(){var t,n,r,s,o;if(this.g)for(t=Fue(this,null,!1),r=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),s=0,o=r.length;s0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+t.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),j6e(this,ju,n.d+t.d+s[0]-(s[1]-r)/2,s)},h.b=null,h.d=0,h.e=!1,h.f=!1,h.g=!1;var n1e=0,xK=0;I(cv,"GridContainerCell",1538),D(471,22,{3:1,34:1,22:1,471:1},Lse);var Vb,Fd,m0,E7t=Br(cv,"HorizontalLabelAlignment",471,Hr,nbn,L0n),C7t;D(314,217,{217:1,314:1},jot,Xht,Iot),h.jf=function(){return wst(this)},h.kf=function(){return r5e(this)},h.a=0,h.c=!1;var jOn=I(cv,"LabelCell",314);D(252,336,{217:1,336:1,252:1},IA),h.jf=function(){return uP(this)},h.kf=function(){return lP(this)},h.lf=function(){Cle(this)},h.mf=function(){Sle(this)},h.b=0,h.c=0,h.d=!1,I(cv,"StripContainerCell",252),D(1691,1,ei,Ac),h.Mb=function(t){return Lun(l(t,217))},I(cv,"StripContainerCell/lambda$0$Type",1691),D(1692,1,{},Jc),h.Ye=function(t){return l(t,217).kf()},I(cv,"StripContainerCell/lambda$1$Type",1692),D(1693,1,ei,Ya),h.Mb=function(t){return Mun(l(t,217))},I(cv,"StripContainerCell/lambda$2$Type",1693),D(1694,1,{},Ba),h.Ye=function(t){return l(t,217).jf()},I(cv,"StripContainerCell/lambda$3$Type",1694),D(472,22,{3:1,34:1,22:1,472:1},Mse);var v0,Gb,s1,S7t=Br(cv,"VerticalLabelAlignment",472,Hr,tbn,M0n),_7t;D(800,1,{},sTe),h.c=0,h.d=0,h.k=0,h.s=0,h.t=0,h.v=!1,h.w=0,h.D=!1,I(cG,"NodeContext",800),D(1536,1,ii,ha),h.Ne=function(t,n){return Dnt(l(t,64),l(n,64))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(cG,"NodeContext/0methodref$comparePortSides$Type",1536),D(1537,1,ii,$o),h.Ne=function(t,n){return s9n(l(t,117),l(n,117))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(cG,"NodeContext/1methodref$comparePortContexts$Type",1537),D(164,22,{3:1,34:1,22:1,164:1},af);var A7t,L7t,M7t,D7t,I7t,O7t,N7t,P7t,B7t,F7t,R7t,j7t,$7t,z7t,q7t,H7t,U7t,V7t,G7t,K7t,W7t,r1e,Y7t=Br(cG,"NodeLabelLocation",164,Hr,gue,D0n),X7t;D(117,1,{117:1},R2t),h.a=!1,I(cG,"PortContext",117),D(1541,1,hr,Lc),h.Cd=function(t){WZe(l(t,314))},I(jP,U3t,1541),D(1542,1,ei,Fa),h.Mb=function(t){return!!l(t,117).c},I(jP,V3t,1542),D(1543,1,hr,Ra),h.Cd=function(t){WZe(l(t,117).c)},I(jP,"LabelPlacer/lambda$2$Type",1543);var aAe;D(1540,1,hr,ma),h.Cd=function(t){vy(),cun(l(t,117))},I(jP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),D(801,1,hr,B4e),h.Cd=function(t){kln(this.b,this.c,this.a,l(t,187))},h.a=!1,h.c=!1,I(jP,"NodeLabelCellCreator/lambda$0$Type",801),D(1539,1,hr,Vie),h.Cd=function(t){hun(this.a,l(t,187))},I(jP,"PortContextCreator/lambda$0$Type",1539);var kK;D(1902,1,{},Kh),I(hE,"GreedyRectangleStripOverlapRemover",1902),D(1903,1,ii,Po),h.Ne=function(t,n){return efn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),D(1849,1,{},mJe),h.a=5,h.e=0,I(hE,"RectangleStripOverlapRemover",1849),D(1850,1,ii,Hp),h.Ne=function(t,n){return tfn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),D(1852,1,ii,Ug),h.Ne=function(t,n){return Ugn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),D(417,22,{3:1,34:1,22:1,417:1},bq);var hB,i1e,s1e,fB,Q7t=Br(hE,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Hr,bmn,I0n),J7t;D(226,1,{226:1},Vae),I(hE,"RectangleStripOverlapRemover/RectangleNode",226),D(1851,1,hr,Gie),h.Cd=function(t){D7n(this.a,l(t,226))},I(hE,"RectangleStripOverlapRemover/lambda$1$Type",1851),D(1323,1,ii,od),h.Ne=function(t,n){return QLn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),D(1326,1,{},cd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),D(1327,1,ei,w1),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),D(1328,1,ei,kh),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),D(1321,1,ii,Wd),h.Ne=function(t,n){return __n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),D(1324,1,{},Yd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),D(781,1,ii,Xd),h.Ne=function(t,n){return uyn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionsComparator",781),D(1319,1,ii,Zf),h.Ne=function(t,n){return m3n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinPerimeterComparator",1319),D(1320,1,ii,Up),h.Ne=function(t,n){return t7n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),D(1322,1,ii,u5),h.Ne=function(t,n){return W_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),D(1325,1,{},bs),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),D(782,1,{},K3e),h.Ve=function(t,n){return cmn(this,l(t,42),l(n,176))},I(Md,"SuccessorCombination",782),D(649,1,{},Vt),h.Ve=function(t,n){var r;return ETn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorJitter",649),D(648,1,{},jr),h.Ve=function(t,n){var r;return lSn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorLineByLine",648),D(573,1,{},Ji),h.Ve=function(t,n){var r;return EEn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorManhattan",573),D(1344,1,{},Qo),h.Ve=function(t,n){var r;return NCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorMaxNormWindingInMathPosSense",1344),D(409,1,{},C5),h.Ve=function(t,n){return _5e(this,t,n)},h.c=!1,h.d=!1,h.e=!1,h.f=!1,I(Md,"SuccessorQuadrantsGeneric",409),D(1345,1,{},Hi),h.Kb=function(t){return l(t,334).a},I(Md,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),D(332,22,{3:1,34:1,22:1,332:1},mq),h.a=!1;var dB,gB,pB,bB,Z7t=Br(lG,$Te,332,Hr,gmn,O0n),e8t;D(1317,1,{}),h.Ib=function(){var t,n,r,s,o,f;for(r=" ",t=bt(0),o=0;o=0?"b"+t+"["+joe(this.a)+"]":"b["+joe(this.a)+"]"):"b_"+ww(this)},I(zP,"FBendpoint",250),D(290,137,{3:1,290:1,96:1,137:1},pit),h.Ib=function(){return joe(this)},I(zP,"FEdge",290),D(235,137,{3:1,235:1,96:1,137:1},eU);var zOn=I(zP,"FGraph",235);D(454,309,{3:1,454:1,309:1,96:1,137:1},mut),h.Ib=function(){return this.b==null||this.b.length==0?"l["+joe(this.a)+"]":"l_"+this.b},I(zP,"FLabel",454),D(153,309,{3:1,153:1,309:1,96:1,137:1},Ynt),h.Ib=function(){return g6e(this)},h.a=0,I(zP,"FNode",153),D(2100,1,{}),h.vf=function(t){Rke(this,t)},h.wf=function(){vgt(this)},h.d=0,I(YTe,"AbstractForceModel",2100),D(641,2100,{641:1},p0t),h.uf=function(t,n){var r,s,o,f,g;return Vvt(this.f,t,n),o=ya(Xa(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,g-tA(t.e)/2-tA(n.e)/2),r=_2t(this.e,t,n),r>0?f=-zgn(s,this.c)*r:f=bfn(s,this.b)*l(Q(t,(p0(),Hx)),17).a,md(o,f/g),o},h.vf=function(t){Rke(this,t),this.a=l(Q(t,(p0(),AK)),17).a,this.c=ze(Ge(Q(t,LK))),this.b=ze(Ge(Q(t,f1e)))},h.xf=function(t){return t0&&(f-=Cun(s,this.a)*r),md(o,f*this.b/g),o},h.vf=function(t){var n,r,s,o,f,g,w;for(Rke(this,t),this.b=ze(Ge(Q(t,(p0(),d1e)))),this.c=this.b/l(Q(t,AK),17).a,s=t.e.c.length,f=0,o=0,w=new K(t.e);w.a0},h.a=0,h.b=0,h.c=0,I(YTe,"FruchtermanReingoldModel",642),D(860,1,Pf,WS),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dG),""),"Force Model"),"Determines the model for force calculation."),pAe),(T2(),ps)),bAe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XTe),""),"Iterations"),"The number of iterations on the force model."),bt(300)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QTe),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Vhe),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Dd),co),ra),hn(Bn)))),Zs(t,Vhe,dG,y8t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Ghe),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),co),ra),hn(Bn)))),Zs(t,Ghe,dG,m8t),Owt((new YS,t))};var g8t,p8t,pAe,b8t,m8t,v8t,w8t,y8t;I(lL,"ForceMetaDataProvider",860),D(432,22,{3:1,34:1,22:1,432:1},Y3e);var h1e,_K,bAe=Br(lL,"ForceModelStrategy",432,Hr,c2n,B0n),x8t;D(C2,1,Pf,YS),h.hf=function(t){Owt(t)};var k8t,T8t,mAe,AK,vAe,E8t,C8t,S8t,_8t,wAe,A8t,yAe,xAe,L8t,Hx,M8t,f1e,kAe,D8t,I8t,LK,d1e,O8t,N8t,P8t,TAe,B8t;I(lL,"ForceOptions",C2),D(1001,1,{},ld),h.sf=function(){var t;return t=new Ywe,t},h.tf=function(t){},I(lL,"ForceOptions/ForceFactory",1001);var wB,zL,Ux,MK;D(861,1,Pf,lz),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ZTe),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),pa))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,eEe),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),co),ra),is(Bn,he(le(Eg,1),it,170,0,[zd]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tEe),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),EAe),ps),DAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,nEe),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Dd),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,rEe),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),bt(Ni)),Sc),to),hn(Bn)))),owt((new hz,t))};var F8t,R8t,EAe,j8t,$8t,z8t;I(lL,"StressMetaDataProvider",861),D(1004,1,Pf,hz),h.hf=function(t){owt(t)};var DK,CAe,SAe,_Ae,AAe,LAe,q8t,H8t,U8t,V8t,MAe,G8t;I(lL,"StressOptions",1004),D(1005,1,{},y1),h.sf=function(){var t;return t=new bit,t},h.tf=function(t){},I(lL,"StressOptions/StressFactory",1005),D(1110,205,uv,bit),h.rf=function(t,n){var r,s,o,f,g;for(n.Ug(iyt,1),Ft(Pt(at(t,(JN(),AAe))))?Ft(Pt(at(t,MAe)))||tN((r=new nw((dw(),new sw(t))),r)):Ebt(new Ywe,t,n.eh(1)),o=j0t(t),s=bvt(this.a,o),g=s.Kc();g.Ob();)f=l(g.Pb(),235),!(f.e.c.length<=1)&&(WLn(this.b,f),wEn(this.b),Uu(f.d,new ud));o=Mwt(s),$wt(o),n.Vg()},I(bG,"StressLayoutProvider",1110),D(1111,1,hr,ud),h.Cd=function(t){Gke(l(t,454))},I(bG,"StressLayoutProvider/lambda$0$Type",1111),D(1002,1,{},fJe),h.c=0,h.e=0,h.g=0,I(bG,"StressMajorization",1002),D(391,22,{3:1,34:1,22:1,391:1},Dse);var g1e,p1e,b1e,DAe=Br(bG,"StressMajorization/Dimension",391,Hr,ibn,F0n),K8t;D(1003,1,ii,Rz),h.Ne=function(t,n){return h0n(this.a,l(t,153),l(n,153))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(bG,"StressMajorization/lambda$0$Type",1003),D(1192,1,{},kct),I(Fx,"ElkLayered",1192),D(1193,1,hr,jz),h.Cd=function(t){Wkn(this.a,l(t,36))},I(Fx,"ElkLayered/lambda$0$Type",1193),D(1194,1,hr,Kie),h.Cd=function(t){f0n(this.a,l(t,36))},I(Fx,"ElkLayered/lambda$1$Type",1194),D(1281,1,{},srt);var W8t,Y8t,X8t;I(Fx,"GraphConfigurator",1281),D(770,1,hr,Qp),h.Cd=function(t){Dpt(this.a,l(t,10))},I(Fx,"GraphConfigurator/lambda$0$Type",770),D(771,1,{},h5),h.Kb=function(t){return Pxe(),new vn(null,new kn(l(t,30).a,16))},I(Fx,"GraphConfigurator/lambda$1$Type",771),D(772,1,hr,r_),h.Cd=function(t){Dpt(this.a,l(t,10))},I(Fx,"GraphConfigurator/lambda$2$Type",772),D(1109,205,uv,vJe),h.rf=function(t,n){var r;r=ALn(new yJe,t),qe(at(t,(Nt(),v4)))===qe((op(),F2))?a5n(this.a,r,n):pEn(this.a,r,n),n.$g()||Twt(new m8,r)},I(Fx,"LayeredLayoutProvider",1109),D(367,22,{3:1,34:1,22:1,367:1},pO);var w0,xg,pu,Cu,wc,IAe=Br(Fx,"LayeredPhases",367,Hr,cvn,R0n),Q8t;D(1717,1,{},Oft),h.i=0;var J8t;I(KP,"ComponentsToCGraphTransformer",1717);var Z8t;D(1718,1,{},Cm),h.yf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(KP,"ComponentsToCGraphTransformer/1",1718),D(86,1,{86:1}),h.i=0,h.k=!0,h.o=oa;var m1e=I(gL,"CNode",86);D(470,86,{470:1,86:1},Zye,uxe),h.Ib=function(){return""},I(KP,"ComponentsToCGraphTransformer/CRectNode",470),D(1688,1,{},U9);var v1e,w1e;I(KP,"OneDimensionalComponentsCompaction",1688),D(1689,1,{},Qv),h.Kb=function(t){return Y2n(l(t,42))},h.Fb=function(t){return this===t},I(KP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),D(1690,1,{},X7),h.Kb=function(t){return c5n(l(t,42))},h.Fb=function(t){return this===t},I(KP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),D(1720,1,{},Lat),I(gL,"CGraph",1720),D(194,1,{194:1},hue),h.b=0,h.c=0,h.e=0,h.g=!0,h.i=oa,I(gL,"CGroup",194),D(1719,1,{},tb),h.yf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(gL,D3t,1719),D(1721,1,{},L2t),h.d=!1;var ext,y1e=I(gL,N3t,1721);D(1722,1,{},Q7),h.Kb=function(t){return B3e(),Hn(),l(l(t,42).a,86).d.e!=0},h.Fb=function(t){return this===t},I(gL,P3t,1722),D(833,1,{},l5e),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(gL,B3t,833),D(1898,1,{},Vst),I(mG,F3t,1898);var yB=Ts(hv,L3t);D(1899,1,{382:1},Cot),h.bf=function(t){TSn(this,l(t,476))},I(mG,R3t,1899),D(Rb,1,ii,f5),h.Ne=function(t,n){return Ipn(l(t,86),l(n,86))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mG,j3t,Rb),D(476,1,{476:1},Q3e),h.a=!1,I(mG,$3t,476),D(1901,1,ii,Z3),h.Ne=function(t,n){return O8n(l(t,476),l(n,476))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mG,z3t,1901),D(148,1,{148:1},Nk,K4e),h.Fb=function(t){var n;return t==null||qOn!=dh(t)?!1:(n=l(t,148),eu(this.c,n.c)&&eu(this.d,n.d))},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.c,this.d]))},h.Ib=function(){return"("+this.c+To+this.d+(this.a?"cx":"")+this.b+")"},h.a=!0,h.c=0,h.d=0;var qOn=I(hv,"Point",148);D(416,22,{3:1,34:1,22:1,416:1},wq);var f3,u4,I6,l4,txt=Br(hv,"Point/Quadrant",416,Hr,mmn,j0n),nxt;D(1708,1,{},bJe),h.b=null,h.c=null,h.d=null,h.e=null,h.f=null;var rxt,ixt,sxt,axt,oxt;I(hv,"RectilinearConvexHull",1708),D(583,1,{382:1},uV),h.bf=function(t){own(this,l(t,148))},h.b=0;var OAe;I(hv,"RectilinearConvexHull/MaximalElementsEventHandler",583),D(1710,1,ii,Gp),h.Ne=function(t,n){return Opn(Ge(t),Ge(n))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),D(1709,1,{382:1},Yht),h.bf=function(t){RCn(this,l(t,148))},h.a=0,h.b=null,h.c=null,h.d=null,h.e=null,I(hv,"RectilinearConvexHull/RectangleEventHandler",1709),D(1711,1,ii,lI),h.Ne=function(t,n){return zbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$0$Type",1711),D(1712,1,ii,eZ),h.Ne=function(t,n){return qbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$1$Type",1712),D(1713,1,ii,Sm),h.Ne=function(t,n){return $bn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$2$Type",1713),D(1714,1,ii,lu),h.Ne=function(t,n){return Hbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$3$Type",1714),D(1715,1,ii,tZ),h.Ne=function(t,n){return y9n(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$4$Type",1715),D(1716,1,{},ect),I(hv,"Scanline",1716),D(2104,1,{}),I(U1,"AbstractGraphPlacer",2104),D(335,1,{335:1},zrt),h.Ff=function(t){return this.Gf(t)?(xn(this.b,l(Q(t,(ft(),wp)),21),t),!0):!1},h.Gf=function(t){var n,r,s,o;for(n=l(Q(t,(ft(),wp)),21),o=l($i(Qi,n),21),s=o.Kc();s.Ob();)if(r=l(s.Pb(),21),!l($i(this.b,r),15).dc())return!1;return!0};var Qi;I(U1,"ComponentGroup",335),D(779,2104,{},Jwe),h.Hf=function(t){var n,r;for(r=new K(this.a);r.ar&&(L=0,F+=w+s,w=0),T=f.c,YT(f,L+T.a,F+T.b),W0(T),o=b.Math.max(o,L+C.a),w=b.Math.max(w,C.b),L+=C.a+s;n.f.a=o,n.f.b=F+w},h.Jf=function(t,n){var r,s,o,f,g;if(qe(Q(n,(Nt(),m4)))===qe((tv(),h4))){for(s=t.Kc();s.Ob();){for(r=l(s.Pb(),36),g=0,f=new K(r.a);f.ar&&!l(Q(f,(ft(),wp)),21).Hc((_t(),Xn))||T&&l(Q(T,(ft(),wp)),21).Hc((_t(),sr))||l(Q(f,(ft(),wp)),21).Hc((_t(),Zn)))&&(z=F,V+=w+s,w=0),C=f.c,l(Q(f,(ft(),wp)),21).Hc((_t(),Xn))&&(z=o+s),YT(f,z+C.a,V+C.b),o=b.Math.max(o,z+L.a),l(Q(f,wp),21).Hc(Mr)&&(F=b.Math.max(F,z+L.a+s)),W0(C),w=b.Math.max(w,L.b),z+=L.a+s,T=f;n.f.a=o,n.f.b=V+w},h.Jf=function(t,n){},I(U1,"ModelOrderRowGraphPlacer",1313),D(1311,1,ii,pj),h.Ne=function(t,n){return ayn(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(U1,"SimpleRowGraphPlacer/1",1311);var uxt;D(1280,1,Ld,z0),h.Lb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),lc)),75),!!n&&n.b!=0},h.Fb=function(t){return this===t},h.Mb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),lc)),75),!!n&&n.b!=0},I(vG,"CompoundGraphPostprocessor/1",1280),D(1279,1,ns,xJe),h.Kf=function(t,n){Jdt(this,l(t,36),n)},I(vG,"CompoundGraphPreprocessor",1279),D(453,1,{453:1},q1t),h.c=!1,I(vG,"CompoundGraphPreprocessor/ExternalPort",453),D(249,1,{249:1},eH),h.Ib=function(){return yae(this.c)+":"+T2t(this.b)},I(vG,"CrossHierarchyEdge",249),D(777,1,ii,eO),h.Ne=function(t,n){return o8n(this,l(t,249),l(n,249))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vG,"CrossHierarchyEdgeComparator",777),D(305,137,{3:1,305:1,96:1,137:1}),h.p=0,I(Tu,"LGraphElement",305),D(18,305,{3:1,18:1,305:1,96:1,137:1},Dw),h.Ib=function(){return T2t(this)};var T1e=I(Tu,"LEdge",18);D(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},C7e),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new K(this.b)},h.Ib=function(){return this.b.c.length==0?"G-unlayered"+Ob(this.a):this.a.c.length==0?"G-layered"+Ob(this.b):"G[layerless"+Ob(this.a)+", layers"+Ob(this.b)+"]"};var lxt=I(Tu,"LGraph",36),hxt;D(666,1,{}),h.Lf=function(){return this.e.n},h.of=function(t){return Q(this.e,t)},h.Mf=function(){return this.e.o},h.Nf=function(){return this.e.p},h.pf=function(t){return rs(this.e,t)},h.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},h.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},h.Qf=function(t){this.e.p=t},I(Tu,"LGraphAdapters/AbstractLShapeAdapter",666),D(474,1,{853:1},Im),h.Rf=function(){var t,n;if(!this.b)for(this.b=rg(this.a.b.c.length),n=new K(this.a.b);n.a0&&w1t((Yn(n-1,t.length),t.charCodeAt(n-1)),lyt);)--n;if(f> ",t),wV(r)),li(mu((t.a+="[",t),r.i),"]")),t.a},h.c=!0,h.d=!1;var RAe,jAe,$Ae,zAe,qAe,HAe,dxt=I(Tu,"LPort",12);D(408,1,gg,S5),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=new K(this.a.e),new pYe(t)},I(Tu,"LPort/1",408),D(1309,1,Ia,pYe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(re(this.a),18).c},h.Ob=function(){return Oc(this.a)},h.Qb=function(){J_(this.a)},I(Tu,"LPort/1/1",1309),D(369,1,gg,S8),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=new K(this.a.g),new Bwe(t)},I(Tu,"LPort/2",369),D(776,1,Ia,Bwe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(re(this.a),18).d},h.Ob=function(){return Oc(this.a)},h.Qb=function(){J_(this.a)},I(Tu,"LPort/2/1",776),D(1302,1,gg,att),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new N1(this)},I(Tu,"LPort/CombineIter",1302),D(208,1,Ia,N1),h.Nb=function(t){Qa(this,t)},h.Qb=function(){BZe()},h.Ob=function(){return z_(this)},h.Pb=function(){return Oc(this.a)?re(this.a):re(this.b)},I(Tu,"LPort/CombineIter/1",208),D(1303,1,Ld,nb),h.Lb=function(t){return sat(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).g.c.length!=0},I(Tu,"LPort/lambda$0$Type",1303),D(1304,1,Ld,ty),h.Lb=function(t){return aat(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).e.c.length!=0},I(Tu,"LPort/lambda$1$Type",1304),D(1305,1,Ld,rZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Xn)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Xn)},I(Tu,"LPort/lambda$2$Type",1305),D(1306,1,Ld,_m),h.Lb=function(t){return xl(),l(t,12).j==(_t(),sr)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),sr)},I(Tu,"LPort/lambda$3$Type",1306),D(1307,1,Ld,iZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Mr)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Mr)},I(Tu,"LPort/lambda$4$Type",1307),D(1308,1,Ld,sZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Zn)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Zn)},I(Tu,"LPort/lambda$5$Type",1308),D(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},vu),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new K(this.a)},h.Ib=function(){return"L_"+bc(this.b.b,this,0)+Ob(this.a)},I(Tu,"Layer",30),D(1330,1,{},yJe),I(_2,gyt,1330),D(1334,1,{},J7),h.Kb=function(t){return vc(l(t,84))},I(_2,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),D(1337,1,{},lS),h.Kb=function(t){return vc(l(t,84))},I(_2,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),D(1331,1,hr,bYe),h.Cd=function(t){$2t(this.a,l(t,123))},I(_2,WTe,1331),D(1332,1,hr,mYe),h.Cd=function(t){$2t(this.a,l(t,123))},I(_2,pyt,1332),D(1333,1,{},mj),h.Kb=function(t){return new vn(null,new kn(G5e(l(t,74)),16))},I(_2,byt,1333),D(1335,1,ei,vYe),h.Mb=function(t){return lhn(this.a,l(t,27))},I(_2,myt,1335),D(1336,1,{},V9),h.Kb=function(t){return new vn(null,new kn(_pn(l(t,74)),16))},I(_2,"ElkGraphImporter/lambda$5$Type",1336),D(1338,1,ei,wYe),h.Mb=function(t){return hhn(this.a,l(t,27))},I(_2,"ElkGraphImporter/lambda$7$Type",1338),D(1339,1,ei,aZ),h.Mb=function(t){return zpn(l(t,74))},I(_2,"ElkGraphImporter/lambda$8$Type",1339),D(1297,1,{},m8);var gxt;I(_2,"ElkGraphLayoutTransferrer",1297),D(1298,1,ei,yYe),h.Mb=function(t){return Zfn(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),D(1299,1,hr,xYe),h.Cd=function(t){dO(),wt(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),D(1300,1,ei,kYe),h.Mb=function(t){return Rfn(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),D(1301,1,hr,TYe),h.Cd=function(t){dO(),wt(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),D(819,1,{},k4e),I(nr,"BiLinkedHashMultiMap",819),D(1550,1,ns,G9),h.Kf=function(t,n){S3n(l(t,36),n)},I(nr,"CommentNodeMarginCalculator",1550),D(1551,1,{},oZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"CommentNodeMarginCalculator/lambda$0$Type",1551),D(1552,1,hr,cZ),h.Cd=function(t){SLn(l(t,10))},I(nr,"CommentNodeMarginCalculator/lambda$1$Type",1552),D(1553,1,ns,uZ),h.Kf=function(t,n){MSn(l(t,36),n)},I(nr,"CommentPostprocessor",1553),D(1554,1,ns,lZ),h.Kf=function(t,n){JDn(l(t,36),n)},I(nr,"CommentPreprocessor",1554),D(1555,1,ns,hZ),h.Kf=function(t,n){KCn(l(t,36),n)},I(nr,"ConstraintsPostprocessor",1555),D(1556,1,ns,fZ),h.Kf=function(t,n){eyn(l(t,36),n)},I(nr,"EdgeAndLayerConstraintEdgeReverser",1556),D(1557,1,ns,dZ),h.Kf=function(t,n){U5n(l(t,36),n)},I(nr,"EndLabelPostprocessor",1557),D(1558,1,{},gZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelPostprocessor/lambda$0$Type",1558),D(1559,1,ei,pZ),h.Mb=function(t){return svn(l(t,10))},I(nr,"EndLabelPostprocessor/lambda$1$Type",1559),D(1560,1,hr,bZ),h.Cd=function(t){N8n(l(t,10))},I(nr,"EndLabelPostprocessor/lambda$2$Type",1560),D(1561,1,ns,mZ),h.Kf=function(t,n){kkn(l(t,36),n)},I(nr,"EndLabelPreprocessor",1561),D(1562,1,{},hI),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelPreprocessor/lambda$0$Type",1562),D(1563,1,hr,Kit),h.Cd=function(t){Tln(this.a,this.b,this.c,l(t,10))},h.a=0,h.b=0,h.c=!1,I(nr,"EndLabelPreprocessor/lambda$1$Type",1563),D(1564,1,ei,vZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),sC))},I(nr,"EndLabelPreprocessor/lambda$2$Type",1564),D(1565,1,hr,EYe),h.Cd=function(t){ci(this.a,l(t,72))},I(nr,"EndLabelPreprocessor/lambda$3$Type",1565),D(1566,1,ei,wZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),M4))},I(nr,"EndLabelPreprocessor/lambda$4$Type",1566),D(1567,1,hr,CYe),h.Cd=function(t){ci(this.a,l(t,72))},I(nr,"EndLabelPreprocessor/lambda$5$Type",1567),D(1615,1,ns,rie),h.Kf=function(t,n){H4n(l(t,36),n)};var pxt;I(nr,"EndLabelSorter",1615),D(1616,1,ii,hS),h.Ne=function(t,n){return k6n(l(t,466),l(n,466))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"EndLabelSorter/1",1616),D(466,1,{466:1},wot),I(nr,"EndLabelSorter/LabelGroup",466),D(1617,1,{},vj),h.Kb=function(t){return fO(),new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelSorter/lambda$0$Type",1617),D(1618,1,ei,Z7),h.Mb=function(t){return fO(),l(t,10).k==(Jn(),Bs)},I(nr,"EndLabelSorter/lambda$1$Type",1618),D(1619,1,hr,yZ),h.Cd=function(t){B9n(l(t,10))},I(nr,"EndLabelSorter/lambda$2$Type",1619),D(1620,1,ei,xZ),h.Mb=function(t){return fO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),M4))},I(nr,"EndLabelSorter/lambda$3$Type",1620),D(1621,1,ei,kZ),h.Mb=function(t){return fO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),sC))},I(nr,"EndLabelSorter/lambda$4$Type",1621),D(1568,1,ns,TZ),h.Kf=function(t,n){zLn(this,l(t,36))},h.b=0,h.c=0,I(nr,"FinalSplineBendpointsCalculator",1568),D(1569,1,{},EZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),D(1570,1,{},fS),h.Kb=function(t){return new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(nr,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),D(1571,1,ei,fI),h.Mb=function(t){return!Ao(l(t,18))},I(nr,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),D(1572,1,ei,wj),h.Mb=function(t){return rs(l(t,18),(ft(),yv))},I(nr,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),D(1573,1,hr,SYe),h.Cd=function(t){X_n(this.a,l(t,131))},I(nr,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),D(1574,1,hr,d5),h.Cd=function(t){aP(l(t,18).a)},I(nr,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),D(803,1,ns,Fwe),h.Kf=function(t,n){NMn(this,l(t,36),n)},I(nr,"GraphTransformer",803),D(517,22,{3:1,34:1,22:1,517:1},X3e);var C1e,xB,bxt=Br(nr,"GraphTransformer/Mode",517,Hr,u2n,U1n),mxt;D(1575,1,ns,g5),h.Kf=function(t,n){nCn(l(t,36),n)},I(nr,"HierarchicalNodeResizingProcessor",1575),D(1576,1,ns,CZ),h.Kf=function(t,n){x3n(l(t,36),n)},I(nr,"HierarchicalPortConstraintProcessor",1576),D(1577,1,ii,e0),h.Ne=function(t,n){return H6n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortConstraintProcessor/NodeComparator",1577),D(1578,1,ns,e8),h.Kf=function(t,n){UAn(l(t,36),n)},I(nr,"HierarchicalPortDummySizeProcessor",1578),D(1579,1,ns,SZ),h.Kf=function(t,n){e_n(this,l(t,36),n)},h.a=0,I(nr,"HierarchicalPortOrthogonalEdgeRouter",1579),D(1580,1,ii,K9),h.Ne=function(t,n){return nfn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortOrthogonalEdgeRouter/1",1580),D(1581,1,ii,Qd),h.Ne=function(t,n){return cwn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortOrthogonalEdgeRouter/2",1581),D(1582,1,ns,_Z),h.Kf=function(t,n){m9n(l(t,36),n)},I(nr,"HierarchicalPortPositionProcessor",1582),D(1583,1,ns,ew),h.Kf=function(t,n){OIn(this,l(t,36))},h.a=0,h.c=0;var IK,OK;I(nr,"HighDegreeNodeLayeringProcessor",1583),D(580,1,{580:1},AZ),h.b=-1,h.d=-1,I(nr,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),D(1584,1,{},LZ),h.Kb=function(t){return zO(),Ea(l(t,10))},h.Fb=function(t){return this===t},I(nr,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),D(1585,1,{},yj),h.Kb=function(t){return zO(),qs(l(t,10))},h.Fb=function(t){return this===t},I(nr,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),D(1591,1,ns,MZ),h.Kf=function(t,n){BAn(this,l(t,36),n)},I(nr,"HyperedgeDummyMerger",1591),D(804,1,{},F4e),h.a=!1,h.b=!1,h.c=!1,I(nr,"HyperedgeDummyMerger/MergeState",804),D(1592,1,{},dS),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"HyperedgeDummyMerger/lambda$0$Type",1592),D(1593,1,{},gS),h.Kb=function(t){return new vn(null,new kn(l(t,10).j,16))},I(nr,"HyperedgeDummyMerger/lambda$1$Type",1593),D(1594,1,hr,xj),h.Cd=function(t){l(t,12).p=-1},I(nr,"HyperedgeDummyMerger/lambda$2$Type",1594),D(1595,1,ns,dI),h.Kf=function(t,n){NAn(l(t,36),n)},I(nr,"HypernodesProcessor",1595),D(1596,1,ns,t8),h.Kf=function(t,n){HAn(l(t,36),n)},I(nr,"InLayerConstraintProcessor",1596),D(1597,1,ns,DZ),h.Kf=function(t,n){B3n(l(t,36),n)},I(nr,"InnermostNodeMarginCalculator",1597),D(1598,1,ns,kj),h.Kf=function(t,n){WDn(this,l(t,36))},h.a=oa,h.b=oa,h.c=gs,h.d=gs;var HOn=I(nr,"InteractiveExternalPortPositioner",1598);D(1599,1,{},Tj),h.Kb=function(t){return l(t,18).d.i},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$0$Type",1599),D(1600,1,{},_Ye),h.Kb=function(t){return rfn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$1$Type",1600),D(1601,1,{},IZ),h.Kb=function(t){return l(t,18).c.i},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$2$Type",1601),D(1602,1,{},AYe),h.Kb=function(t){return ifn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$3$Type",1602),D(1603,1,{},LYe),h.Kb=function(t){return t0n(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$4$Type",1603),D(1604,1,{},MYe),h.Kb=function(t){return n0n(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$5$Type",1604),D(81,22,{3:1,34:1,22:1,81:1,196:1},Xs),h.dg=function(){switch(this.g){case 15:return new Jj;case 22:return new Vee;case 47:return new Wee;case 28:case 35:return new jZ;case 32:return new G9;case 42:return new uZ;case 1:return new lZ;case 41:return new hZ;case 56:return new Fwe((pT(),xB));case 0:return new Fwe((pT(),C1e));case 2:return new fZ;case 54:return new dZ;case 33:return new mZ;case 51:return new TZ;case 55:return new g5;case 13:return new CZ;case 38:return new e8;case 44:return new SZ;case 40:return new _Z;case 9:return new ew;case 49:return new Irt;case 37:return new MZ;case 43:return new dI;case 27:return new t8;case 30:return new DZ;case 3:return new kj;case 18:return new NZ;case 29:return new PZ;case 5:return new gk;case 50:return new OZ;case 34:return new fz;case 36:return new p5;case 52:return new rie;case 11:return new W9;case 7:return new iie;case 39:return new gI;case 45:return new ny;case 16:return new Y9;case 10:return new Ett;case 48:return new Ej;case 21:return new pI;case 23:return new cse((jw(),cM));case 8:return new bI;case 12:return new zZ;case 4:return new mI;case 19:return new pz;case 17:return new GZ;case 53:return new KZ;case 6:return new Dj;case 25:return new TJe;case 46:return new QZ;case 31:return new yit;case 14:return new see;case 26:return new Qee;case 20:return new Pj;case 24:return new cse((jw(),FW));default:throw ue(new Wn(Qhe+(this.f!=null?this.f:""+this.g)))}};var UAe,VAe,GAe,KAe,WAe,YAe,XAe,QAe,JAe,ZAe,O6,NK,PK,eLe,tLe,nLe,rLe,iLe,sLe,aLe,qL,oLe,cLe,uLe,lLe,hLe,S1e,BK,FK,fLe,RK,jK,$K,DE,f4,d4,dLe,zK,qK,gLe,HK,UK,pLe,bLe,mLe,vLe,VK,_1e,kB,GK,KK,WK,YK,wLe,yLe,xLe,kLe,UOn=Br(nr,Jhe,81,Hr,Obt,H0n),vxt;D(1605,1,ns,NZ),h.Kf=function(t,n){GDn(l(t,36),n)},I(nr,"InvertedPortProcessor",1605),D(1606,1,ns,PZ),h.Kf=function(t,n){q_n(l(t,36),n)},I(nr,"LabelAndNodeSizeProcessor",1606),D(1607,1,ei,BZ),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),D(1608,1,ei,FZ),h.Mb=function(t){return l(t,10).k==(Jn(),Ks)},I(nr,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),D(1609,1,hr,Wit),h.Cd=function(t){Eln(this.b,this.a,this.c,l(t,10))},h.a=!1,h.c=!1,I(nr,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),D(1610,1,ns,gk),h.Kf=function(t,n){vDn(l(t,36),n)};var wxt;I(nr,"LabelDummyInserter",1610),D(1611,1,Ld,Jd),h.Lb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),iC))},h.Fb=function(t){return this===t},h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),iC))},I(nr,"LabelDummyInserter/1",1611),D(1612,1,ns,OZ),h.Kf=function(t,n){aDn(l(t,36),n)},I(nr,"LabelDummyRemover",1612),D(1613,1,ei,Jv),h.Mb=function(t){return Ft(Pt(Q(l(t,72),(Nt(),pde))))},I(nr,"LabelDummyRemover/lambda$0$Type",1613),D(1378,1,ns,fz),h.Kf=function(t,n){JMn(this,l(t,36),n)},h.a=null;var A1e;I(nr,"LabelDummySwitcher",1378),D(293,1,{293:1},Imt),h.c=0,h.d=null,h.f=0,I(nr,"LabelDummySwitcher/LabelDummyInfo",293),D(1379,1,{},RZ),h.Kb=function(t){return hx(),new vn(null,new kn(l(t,30).a,16))},I(nr,"LabelDummySwitcher/lambda$0$Type",1379),D(1380,1,ei,pS),h.Mb=function(t){return hx(),l(t,10).k==(Jn(),uu)},I(nr,"LabelDummySwitcher/lambda$1$Type",1380),D(1381,1,{},DYe),h.Kb=function(t){return jfn(this.a,l(t,10))},I(nr,"LabelDummySwitcher/lambda$2$Type",1381),D(1382,1,hr,IYe),h.Cd=function(t){spn(this.a,l(t,293))},I(nr,"LabelDummySwitcher/lambda$3$Type",1382),D(1383,1,ii,bS),h.Ne=function(t,n){return Lgn(l(t,293),l(n,293))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"LabelDummySwitcher/lambda$4$Type",1383),D(802,1,ns,jZ),h.Kf=function(t,n){zvn(l(t,36),n)},I(nr,"LabelManagementProcessor",802),D(1614,1,ns,p5),h.Kf=function(t,n){vSn(l(t,36),n)},I(nr,"LabelSideSelector",1614),D(1622,1,ns,W9),h.Kf=function(t,n){sLn(l(t,36),n)},I(nr,"LayerConstraintPostprocessor",1622),D(1623,1,ns,iie),h.Kf=function(t,n){eEn(l(t,36),n)};var TLe;I(nr,"LayerConstraintPreprocessor",1623),D(371,22,{3:1,34:1,22:1,371:1},xq);var TB,XK,QK,L1e,yxt=Br(nr,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Hr,wmn,U0n),xxt;D(1624,1,ns,gI),h.Kf=function(t,n){kMn(l(t,36),n)},I(nr,"LayerSizeAndGraphHeightCalculator",1624),D(1625,1,ns,ny),h.Kf=function(t,n){rCn(l(t,36),n)},I(nr,"LongEdgeJoiner",1625),D(1626,1,ns,Y9),h.Kf=function(t,n){JLn(l(t,36),n)},I(nr,"LongEdgeSplitter",1626),D(1627,1,ns,Ett),h.Kf=function(t,n){ODn(this,l(t,36),n)},h.e=0,h.f=0,h.j=0,h.k=0,h.n=0,h.o=0;var kxt,Txt;I(nr,"NodePromotion",1627),D(1628,1,ii,$Z),h.Ne=function(t,n){return Gyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NodePromotion/1",1628),D(1629,1,ii,mS),h.Ne=function(t,n){return Kyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NodePromotion/2",1629),D(1630,1,{},hd),h.Kb=function(t){return l(t,42),nH(),Hn(),!0},h.Fb=function(t){return this===t},I(nr,"NodePromotion/lambda$0$Type",1630),D(1631,1,{},BYe),h.Kb=function(t){return q2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(nr,"NodePromotion/lambda$1$Type",1631),D(1632,1,{},FYe),h.Kb=function(t){return z2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(nr,"NodePromotion/lambda$2$Type",1632),D(1633,1,ns,Ej),h.Kf=function(t,n){_In(l(t,36),n)},I(nr,"NorthSouthPortPostprocessor",1633),D(1634,1,ns,pI),h.Kf=function(t,n){oIn(l(t,36),n)},I(nr,"NorthSouthPortPreprocessor",1634),D(1635,1,ii,X9),h.Ne=function(t,n){return oyn(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NorthSouthPortPreprocessor/lambda$0$Type",1635),D(1636,1,ns,bI),h.Kf=function(t,n){TAn(l(t,36),n)},I(nr,"PartitionMidprocessor",1636),D(1637,1,ei,Cj),h.Mb=function(t){return rs(l(t,10),(Nt(),VE))},I(nr,"PartitionMidprocessor/lambda$0$Type",1637),D(1638,1,hr,RYe),h.Cd=function(t){qpn(this.a,l(t,10))},I(nr,"PartitionMidprocessor/lambda$1$Type",1638),D(1639,1,ns,zZ),h.Kf=function(t,n){ECn(l(t,36),n)},I(nr,"PartitionPostprocessor",1639),D(1640,1,ns,mI),h.Kf=function(t,n){RTn(l(t,36),n)},I(nr,"PartitionPreprocessor",1640),D(1641,1,ei,qZ),h.Mb=function(t){return rs(l(t,10),(Nt(),VE))},I(nr,"PartitionPreprocessor/lambda$0$Type",1641),D(1642,1,{},HZ),h.Kb=function(t){return new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(nr,"PartitionPreprocessor/lambda$1$Type",1642),D(1643,1,ei,Sj),h.Mb=function(t){return A6n(l(t,18))},I(nr,"PartitionPreprocessor/lambda$2$Type",1643),D(1644,1,hr,n8),h.Cd=function(t){Eyn(l(t,18))},I(nr,"PartitionPreprocessor/lambda$3$Type",1644),D(1645,1,ns,pz),h.Kf=function(t,n){rAn(l(t,36),n)};var ELe,Ext,Cxt,Sxt,CLe,SLe;I(nr,"PortListSorter",1645),D(1648,1,ii,_j),h.Ne=function(t,n){return Tut(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$0$Type",1648),D(1650,1,ii,r8),h.Ne=function(t,n){return nvt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$1$Type",1650),D(1646,1,{},UZ),h.Kb=function(t){return ST(),l(t,12).e},I(nr,"PortListSorter/lambda$2$Type",1646),D(1647,1,{},vI),h.Kb=function(t){return ST(),l(t,12).g},I(nr,"PortListSorter/lambda$3$Type",1647),D(1649,1,ii,VZ),h.Ne=function(t,n){return J7n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$4$Type",1649),D(1651,1,ns,GZ),h.Kf=function(t,n){dEn(l(t,36),n)},I(nr,"PortSideProcessor",1651),D(1652,1,ns,KZ),h.Kf=function(t,n){g_n(l(t,36),n)},I(nr,"ReversedEdgeRestorer",1652),D(1657,1,ns,TJe),h.Kf=function(t,n){N7n(this,l(t,36),n)},I(nr,"SelfLoopPortRestorer",1657),D(1658,1,{},WZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopPortRestorer/lambda$0$Type",1658),D(1659,1,ei,Aj),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopPortRestorer/lambda$1$Type",1659),D(1660,1,ei,YZ),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopPortRestorer/lambda$2$Type",1660),D(1661,1,{},XZ),h.Kb=function(t){return l(Q(l(t,10),(ft(),v3)),337)},I(nr,"SelfLoopPortRestorer/lambda$3$Type",1661),D(1662,1,hr,NYe),h.Cd=function(t){Y9n(this.a,l(t,337))},I(nr,"SelfLoopPortRestorer/lambda$4$Type",1662),D(805,1,hr,Lj),h.Cd=function(t){ckn(l(t,105))},I(nr,"SelfLoopPortRestorer/lambda$5$Type",805),D(1663,1,ns,QZ),h.Kf=function(t,n){$6n(l(t,36),n)},I(nr,"SelfLoopPostProcessor",1663),D(1664,1,{},JZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopPostProcessor/lambda$0$Type",1664),D(1665,1,ei,ZZ),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopPostProcessor/lambda$1$Type",1665),D(1666,1,ei,eee),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopPostProcessor/lambda$2$Type",1666),D(1667,1,hr,Mj),h.Cd=function(t){Q8n(l(t,10))},I(nr,"SelfLoopPostProcessor/lambda$3$Type",1667),D(1668,1,{},tee),h.Kb=function(t){return new vn(null,new kn(l(t,105).f,1))},I(nr,"SelfLoopPostProcessor/lambda$4$Type",1668),D(1669,1,hr,OYe),h.Cd=function(t){Tmn(this.a,l(t,340))},I(nr,"SelfLoopPostProcessor/lambda$5$Type",1669),D(1670,1,ei,nee),h.Mb=function(t){return!!l(t,105).i},I(nr,"SelfLoopPostProcessor/lambda$6$Type",1670),D(1671,1,hr,PYe),h.Cd=function(t){Tun(this.a,l(t,105))},I(nr,"SelfLoopPostProcessor/lambda$7$Type",1671),D(1653,1,ns,Dj),h.Kf=function(t,n){qEn(l(t,36),n)},I(nr,"SelfLoopPreProcessor",1653),D(1654,1,{},Ij),h.Kb=function(t){return new vn(null,new kn(l(t,105).f,1))},I(nr,"SelfLoopPreProcessor/lambda$0$Type",1654),D(1655,1,{},Oj),h.Kb=function(t){return l(t,340).a},I(nr,"SelfLoopPreProcessor/lambda$1$Type",1655),D(1656,1,hr,ree),h.Cd=function(t){Shn(l(t,18))},I(nr,"SelfLoopPreProcessor/lambda$2$Type",1656),D(1672,1,ns,yit),h.Kf=function(t,n){M9n(this,l(t,36),n)},I(nr,"SelfLoopRouter",1672),D(1673,1,{},iee),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopRouter/lambda$0$Type",1673),D(1674,1,ei,Q9),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopRouter/lambda$1$Type",1674),D(1675,1,ei,i8),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopRouter/lambda$2$Type",1675),D(1676,1,{},vS),h.Kb=function(t){return l(Q(l(t,10),(ft(),v3)),337)},I(nr,"SelfLoopRouter/lambda$3$Type",1676),D(1677,1,hr,itt),h.Cd=function(t){Bpn(this.a,this.b,l(t,337))},I(nr,"SelfLoopRouter/lambda$4$Type",1677),D(1678,1,ns,see),h.Kf=function(t,n){aSn(l(t,36),n)},I(nr,"SemiInteractiveCrossMinProcessor",1678),D(1679,1,ei,wI),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),D(1680,1,ei,wS),h.Mb=function(t){return Fst(l(t,10))._b((Nt(),k4))},I(nr,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),D(1681,1,ii,yI),h.Ne=function(t,n){return T3n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),D(1682,1,{},Nj),h.Ve=function(t,n){return Hpn(l(t,10),l(n,10))},I(nr,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),D(1684,1,ns,Pj),h.Kf=function(t,n){MLn(l(t,36),n)},I(nr,"SortByInputModelProcessor",1684),D(1685,1,ei,aee),h.Mb=function(t){return l(t,12).g.c.length!=0},I(nr,"SortByInputModelProcessor/lambda$0$Type",1685),D(1686,1,hr,jYe),h.Cd=function(t){dkn(this.a,l(t,12))},I(nr,"SortByInputModelProcessor/lambda$1$Type",1686),D(1759,817,{},Kft),h.df=function(t){var n,r,s,o;switch(this.c=t,this.a.g){case 2:n=new mt,Os(ji(new vn(null,new kn(this.c.a.b,16)),new mee),new dtt(this,n)),oP(this,new cee),Uu(n,new Bj),n.c.length=0,Os(ji(new vn(null,new kn(this.c.a.b,16)),new Fj),new zYe(n)),oP(this,new uee),Uu(n,new lee),n.c.length=0,r=Wnt(Tce(Ey(new vn(null,new kn(this.c.a.b,16)),new qYe(this))),new hee),Os(new vn(null,new kn(this.c.a.a,16)),new ott(r,n)),oP(this,new dee),Uu(n,new Rj),n.c.length=0;break;case 3:s=new mt,oP(this,new oee),o=Wnt(Tce(Ey(new vn(null,new kn(this.c.a.b,16)),new $Ye(this))),new fee),Os(ji(new vn(null,new kn(this.c.a.b,16)),new gee),new utt(o,s)),oP(this,new pee),Uu(s,new bee),s.c.length=0;break;default:throw ue(new lJe)}},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation",1759),D(1760,1,Ld,oee),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),D(1761,1,{},$Ye),h.Ye=function(t){return Xkn(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),D(1769,1,iG,stt),h.de=function(){RA(this.a,this.b,-1)},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),D(1771,1,Ld,cee),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),D(1772,1,hr,Bj),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),D(1773,1,ei,Fj),h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),D(1775,1,hr,zYe),h.Cd=function(t){b5n(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),D(1774,1,iG,ltt),h.de=function(){RA(this.b,this.a,-1)},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),D(1776,1,Ld,uee),h.Lb=function(t){return De(l(t,60).g,10)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),D(1777,1,hr,lee),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),D(1778,1,{},qYe),h.Ye=function(t){return Qkn(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),D(1779,1,{},hee),h.We=function(){return 0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),D(1762,1,{},fee),h.We=function(){return 0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),D(1781,1,hr,ott),h.Cd=function(t){xgn(this.a,this.b,l(t,316))},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),D(1780,1,iG,ctt),h.de=function(){cbt(this.a,this.b,-1)},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),D(1782,1,Ld,dee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),D(1783,1,hr,Rj),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),D(1763,1,ei,gee),h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),D(1765,1,hr,utt),h.Cd=function(t){kgn(this.a,this.b,l(t,60))},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),D(1764,1,iG,htt),h.de=function(){RA(this.b,this.a,-1)},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),D(1766,1,Ld,pee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),D(1767,1,hr,bee),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),D(1768,1,ei,mee),h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),D(1770,1,hr,dtt),h.Cd=function(t){$wn(this.a,this.b,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),D(1586,1,ns,Irt),h.Kf=function(t,n){iMn(this,l(t,36),n)};var _xt;I(ua,"HorizontalGraphCompactor",1586),D(1587,1,{},HYe),h.ff=function(t,n){var r,s,o;return a7e(t,n)||(r=W5(t),s=W5(n),r&&r.k==(Jn(),Ks)||s&&s.k==(Jn(),Ks))?0:(o=l(Q(this.a.a,(ft(),q6)),312),cfn(o,r?r.k:(Jn(),Aa),s?s.k:(Jn(),Aa)))},h.gf=function(t,n){var r,s,o;return a7e(t,n)?1:(r=W5(t),s=W5(n),o=l(Q(this.a.a,(ft(),q6)),312),Qye(o,r?r.k:(Jn(),Aa),s?s.k:(Jn(),Aa)))},I(ua,"HorizontalGraphCompactor/1",1587),D(1588,1,{},jj),h.ef=function(t,n){return b_(),t.a.i==0},I(ua,"HorizontalGraphCompactor/lambda$0$Type",1588),D(1589,1,{},UYe),h.ef=function(t,n){return Gpn(this.a,t,n)},I(ua,"HorizontalGraphCompactor/lambda$1$Type",1589),D(1730,1,{},kht);var Axt,Lxt;I(ua,"LGraphToCGraphTransformer",1730),D(1738,1,ei,yS),h.Mb=function(t){return t!=null},I(ua,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),D(1731,1,{},vee),h.Kb=function(t){return c0(),Tc(Q(l(l(t,60).g,10),(ft(),zi)))},I(ua,"LGraphToCGraphTransformer/lambda$0$Type",1731),D(1732,1,{},wee),h.Kb=function(t){return c0(),O1t(l(l(t,60).g,154))},I(ua,"LGraphToCGraphTransformer/lambda$1$Type",1732),D(1741,1,ei,$j),h.Mb=function(t){return c0(),De(l(t,60).g,10)},I(ua,"LGraphToCGraphTransformer/lambda$10$Type",1741),D(1742,1,hr,yee),h.Cd=function(t){Qpn(l(t,60))},I(ua,"LGraphToCGraphTransformer/lambda$11$Type",1742),D(1743,1,ei,xee),h.Mb=function(t){return c0(),De(l(t,60).g,154)},I(ua,"LGraphToCGraphTransformer/lambda$12$Type",1743),D(1747,1,hr,kee),h.Cd=function(t){A4n(l(t,60))},I(ua,"LGraphToCGraphTransformer/lambda$13$Type",1747),D(1744,1,hr,VYe),h.Cd=function(t){thn(this.a,l(t,8))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$14$Type",1744),D(1745,1,hr,GYe),h.Cd=function(t){rhn(this.a,l(t,116))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$15$Type",1745),D(1746,1,hr,KYe),h.Cd=function(t){nhn(this.a,l(t,8))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$16$Type",1746),D(1748,1,{},Tee),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$17$Type",1748),D(1749,1,ei,Eee),h.Mb=function(t){return c0(),Ao(l(t,18))},I(ua,"LGraphToCGraphTransformer/lambda$18$Type",1749),D(1750,1,hr,WYe),h.Cd=function(t){vwn(this.a,l(t,18))},I(ua,"LGraphToCGraphTransformer/lambda$19$Type",1750),D(1734,1,hr,YYe),h.Cd=function(t){Vbn(this.a,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$2$Type",1734),D(1751,1,{},Cee),h.Kb=function(t){return c0(),new vn(null,new kn(l(t,30).a,16))},I(ua,"LGraphToCGraphTransformer/lambda$20$Type",1751),D(1752,1,{},zj),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$21$Type",1752),D(1753,1,{},See),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),yv)),15)},I(ua,"LGraphToCGraphTransformer/lambda$22$Type",1753),D(1754,1,ei,qj),h.Mb=function(t){return ufn(l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$23$Type",1754),D(1755,1,hr,XYe),h.Cd=function(t){jkn(this.a,l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$24$Type",1755),D(1733,1,hr,gtt),h.Cd=function(t){qmn(this.a,this.b,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$3$Type",1733),D(1735,1,{},_ee),h.Kb=function(t){return c0(),new vn(null,new kn(l(t,30).a,16))},I(ua,"LGraphToCGraphTransformer/lambda$4$Type",1735),D(1736,1,{},Aee),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$5$Type",1736),D(1737,1,{},Lee),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),yv)),15)},I(ua,"LGraphToCGraphTransformer/lambda$6$Type",1737),D(1739,1,hr,QYe),h.Cd=function(t){Jkn(this.a,l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$8$Type",1739),D(1740,1,hr,ptt),h.Cd=function(t){_hn(this.a,this.b,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$9$Type",1740),D(1729,1,{},xS),h.cf=function(t){var n,r,s,o,f;for(this.a=t,this.d=new Zie,this.c=We(sAe,jn,125,this.a.a.a.c.length,0,1),this.b=0,r=new K(this.a.a.a);r.a=te&&(wt(f,bt(L)),Me=b.Math.max(Me,$e[L-1]-F),w+=J,fe+=$e[L-1]-fe,F=$e[L-1],J=T[L]),J=b.Math.max(J,T[L]),++L;w+=J}V=b.Math.min(1/Me,1/n.b/w),V>s&&(s=V,r=f)}return r},h.pg=function(){return!1},I(Od,"MSDCutIndexHeuristic",816),D(1683,1,ns,Qee),h.Kf=function(t,n){oLn(l(t,36),n)},I(Od,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},E_);var P6,NE,PE,g4,HL,B6,BE=Br(cu,"CenterEdgeLabelPlacementStrategy",232,Hr,Gvn,W0n),zxt;D(431,22,{3:1,34:1,22:1,431:1},J3e);var ALe,$1e,LLe=Br(cu,"ConstraintCalculationStrategy",431,Hr,f2n,Y0n),qxt;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},Ose),h.dg=function(){return b2t(this)},h.qg=function(){return b2t(this)};var CB,UL,MLe,DLe=Br(cu,"CrossingMinimizationStrategy",322,Hr,abn,X0n),Hxt;D(351,22,{3:1,34:1,22:1,351:1},Nse);var ILe,z1e,nW,OLe=Br(cu,"CuttingStrategy",351,Hr,obn,Q0n),Uxt;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},mO),h.dg=function(){return abt(this)},h.qg=function(){return abt(this)};var NLe,q1e,FE,H1e,RE,PLe=Br(cu,"CycleBreakingStrategy",348,Hr,lvn,J0n),Vxt;D(428,22,{3:1,34:1,22:1,428:1},Z3e);var rW,BLe,FLe=Br(cu,"DirectionCongruency",428,Hr,h2n,Z0n),Gxt;D(460,22,{3:1,34:1,22:1,460:1},Pse);var jE,U1e,F6,Kxt=Br(cu,"EdgeConstraint",460,Hr,cbn,a1n),Wxt;D(283,22,{3:1,34:1,22:1,283:1},C_);var V1e,G1e,K1e,W1e,iW,Y1e,RLe=Br(cu,"EdgeLabelSideSelection",283,Hr,Hvn,o1n),Yxt;D(488,22,{3:1,34:1,22:1,488:1},eye);var sW,jLe,$Le=Br(cu,"EdgeStraighteningStrategy",488,Hr,w2n,c1n),Xxt;D(281,22,{3:1,34:1,22:1,281:1},S_);var X1e,zLe,qLe,aW,HLe,ULe,VLe=Br(cu,"FixedAlignment",281,Hr,Uvn,s1n),Qxt;D(282,22,{3:1,34:1,22:1,282:1},__);var GLe,KLe,WLe,YLe,VL,XLe,QLe=Br(cu,"GraphCompactionStrategy",282,Hr,Vvn,e1n),Jxt;D(259,22,{3:1,34:1,22:1,259:1},fy);var $E,oW,zE,mf,GL,cW,qE,R6,uW,KL,Q1e=Br(cu,"GraphProperties",259,Hr,L3n,t1n),Zxt;D(299,22,{3:1,34:1,22:1,299:1},Bse);var SB,J1e,Z1e,ede=Br(cu,"GreedySwitchType",299,Hr,ubn,n1n),e9t;D(311,22,{3:1,34:1,22:1,311:1},Fse);var Gx,_B,j6,t9t=Br(cu,"InLayerConstraint",311,Hr,lbn,r1n),n9t;D(429,22,{3:1,34:1,22:1,429:1},tye);var tde,JLe,ZLe=Br(cu,"InteractiveReferencePoint",429,Hr,l2n,i1n),r9t,eMe,Kx,p3,lW,tMe,nMe,hW,rMe,AB,fW,WL,Wx,wp,nde,dW,Xc,iMe,Wb,_u,rde,ide,LB,wv,b3,Yx,sMe,Xx,MB,p4,a1,$f,sde,$6,Yi,zi,aMe,oMe,cMe,uMe,lMe,ade,gW,Bl,m3,ode,Qx,YL,W1,z6,v3,q6,H6,HE,yv,hMe,cde,ude,Jx;D(171,22,{3:1,34:1,22:1,171:1},vO);var XL,Yb,QL,b4,DB,fMe=Br(cu,"LayerConstraint",171,Hr,fvn,u1n),i9t;D(859,1,Pf,uie),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cEe),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kMe),(T2(),ps)),FLe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,uEe),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Hn(),!1)),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,wG),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),AMe),ps),ZLe),hn(Bn)))),Zs(t,wG,tfe,J9t),Zs(t,wG,bL,Q9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lEe),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hEe),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),Ta),Ps),hn(Bn)))),an(t,new Qt(tln(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fEe),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),Ta),Ps),hn(Av)),he(le($t,1),dt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dEe),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),BMe),ps),VDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gEe),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),bt(7)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pEe),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bEe),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tfe),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),xMe),ps),PLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XP),Cfe),"Node Layering Strategy"),"Strategy for node layering."),DMe),ps),ODe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mEe),Cfe),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),LMe),ps),fMe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vEe),Cfe),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,wEe),Cfe),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,nfe),Ayt),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),bt(4)),Sc),to),hn(Bn)))),Zs(t,nfe,XP,skt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,rfe),Ayt),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),bt(2)),Sc),to),hn(Bn)))),Zs(t,rfe,XP,okt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ife),Lyt),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),MMe),ps),qDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,sfe),Lyt),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),bt(0)),Sc),to),hn(Bn)))),Zs(t,sfe,ife,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,afe),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),bt(Ni)),Sc),to),hn(Bn)))),Zs(t,afe,XP,ekt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bL),bE),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yMe),ps),DLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yEe),bE),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ofe),bE),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),co),ra),hn(Bn)))),Zs(t,ofe,IG,E9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cfe),bE),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),Ta),Ps),hn(Bn)))),Zs(t,cfe,bL,M9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xEe),bE),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),e7),$t),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kEe),bE),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),e7),$t),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TEe),bE),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,EEe),bE),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,CEe),Myt),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),bt(40)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ufe),Myt),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),wMe),ps),ede),hn(Bn)))),Zs(t,ufe,bL,k9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yG),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),vMe),ps),ede),hn(Bn)))),Zs(t,yG,bL,w9t),Zs(t,yG,IG,y9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,E6),Dyt),"Node Placement Strategy"),"Strategy for node placement."),PMe),ps),FDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,xG),Dyt),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),Ta),Ps),hn(Bn)))),Zs(t,xG,E6,vkt),Zs(t,xG,E6,wkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lfe),Iyt),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),IMe),ps),$Le),hn(Bn)))),Zs(t,lfe,E6,gkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hfe),Iyt),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),OMe),ps),VLe),hn(Bn)))),Zs(t,hfe,E6,bkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ffe),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),co),ra),hn(Bn)))),Zs(t,ffe,E6,xkt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,dfe),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),ps),Dde),hn(pa)))),Zs(t,dfe,E6,Ckt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gfe),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),NMe),ps),Dde),hn(Bn)))),Zs(t,gfe,E6,Ekt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,SEe),Oyt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),CMe),ps),WDe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_Ee),Oyt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),SMe),ps),YDe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kG),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),_Me),ps),QDe),hn(Bn)))),Zs(t,kG,QP,z9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TG),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),co),ra),hn(Bn)))),Zs(t,TG,QP,H9t),Zs(t,TG,kG,U9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pfe),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),co),ra),hn(Bn)))),Zs(t,pfe,QP,F9t),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,AEe),V1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,LEe),V1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MEe),V1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DEe),V1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,IEe),qEe),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OEe),qEe),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,NEe),qEe),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bfe),HEe),Y3t),"Tries to further compact components (disconnected sub-graphs)."),!1),Ta),Ps),hn(Bn)))),Zs(t,bfe,hL,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PEe),Nyt),"Post Compaction Strategy"),Pyt),gMe),ps),QLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,BEe),Nyt),"Post Compaction Constraint Calculation"),Pyt),dMe),ps),LLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,EG),UEe),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mfe),UEe),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),bt(16)),Sc),to),hn(Bn)))),Zs(t,mfe,EG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vfe),UEe),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),bt(5)),Sc),to),hn(Bn)))),Zs(t,vfe,EG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bp),VEe),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),jMe),ps),tIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,CG),VEe),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),co),ra),hn(Bn)))),Zs(t,CG,bp,Rkt),Zs(t,CG,bp,jkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,SG),VEe),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),co),ra),hn(Bn)))),Zs(t,SG,bp,zkt),Zs(t,SG,bp,qkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mL),Byt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),RMe),ps),OLe),hn(Bn)))),Zs(t,mL,bp,Wkt),Zs(t,mL,bp,Ykt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wfe),Byt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),X1),bf),hn(Bn)))),Zs(t,wfe,mL,Ukt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yfe),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),FMe),Sc),to),hn(Bn)))),Zs(t,yfe,mL,Gkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_G),Fyt),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),$Me),ps),eIe),hn(Bn)))),Zs(t,_G,bp,oTt),Zs(t,_G,bp,cTt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,AG),Fyt),"Valid Indices for Wrapping"),null),X1),bf),hn(Bn)))),Zs(t,AG,bp,iTt),Zs(t,AG,bp,sTt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,LG),GEe),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),Ta),Ps),hn(Bn)))),Zs(t,LG,bp,Zkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MG),GEe),"Distance Penalty When Improving Cuts"),null),2),co),ra),hn(Bn)))),Zs(t,MG,bp,Qkt),Zs(t,MG,LG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xfe),GEe),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),Ta),Ps),hn(Bn)))),Zs(t,xfe,bp,tTt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,FEe),Sfe),"Edge Label Side Selection"),"Method to decide on edge label sides."),EMe),ps),RLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,REe),Sfe),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),TMe),ps),BE),is(Bn,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DG),vL),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),mMe),ps),UDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,jEe),vL),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,$Ee),vL),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kfe),vL),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),pMe),ps),PAe),hn(Bn)))),Zs(t,kfe,hL,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zEe),vL),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bMe),ps),PDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Tfe),vL),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),co),ra),hn(Bn)))),Zs(t,Tfe,DG,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Efe),vL),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),co),ra),hn(Bn)))),Zs(t,Efe,DG,null),e3t((new lie,t))};var s9t,a9t,o9t,dMe,c9t,gMe,u9t,pMe,l9t,h9t,f9t,bMe,d9t,g9t,p9t,mMe,b9t,m9t,v9t,vMe,w9t,y9t,x9t,wMe,k9t,T9t,E9t,C9t,S9t,_9t,A9t,L9t,M9t,D9t,yMe,I9t,xMe,O9t,kMe,N9t,TMe,P9t,EMe,B9t,F9t,R9t,CMe,j9t,SMe,$9t,_Me,z9t,q9t,H9t,U9t,V9t,G9t,K9t,W9t,Y9t,X9t,AMe,Q9t,J9t,Z9t,ekt,tkt,nkt,LMe,rkt,ikt,skt,akt,okt,ckt,ukt,MMe,lkt,DMe,hkt,fkt,dkt,IMe,gkt,pkt,OMe,bkt,mkt,vkt,wkt,ykt,xkt,kkt,Tkt,NMe,Ekt,Ckt,Skt,PMe,_kt,BMe,Akt,Lkt,Mkt,Dkt,Ikt,Okt,Nkt,Pkt,Bkt,Fkt,Rkt,jkt,$kt,zkt,qkt,Hkt,Ukt,Vkt,FMe,Gkt,Kkt,RMe,Wkt,Ykt,Xkt,Qkt,Jkt,Zkt,eTt,tTt,nTt,jMe,rTt,iTt,sTt,aTt,$Me,oTt,cTt;I(cu,"LayeredMetaDataProvider",859),D(998,1,Pf,lie),h.hf=function(t){e3t(t)};var Rd,lde,pW,JL,bW,zMe,mW,m4,vW,qMe,HMe,wW,hde,Tg,fde,w3,UMe,IB,dde,VMe,uTt,lTt,hTt,yW,gde,ZL,xv,fTt,Rh,GMe,KMe,xW,pde,jd,kW,yp,WMe,YMe,XMe,bde,mde,QMe,M2,vde,JMe,v4,ZMe,eDe,tDe,TW,w4,kv,nDe,rDe,lc,iDe,dTt,Qu,EW,sDe,aDe,oDe,Xb,Tv,CW,cDe,uDe,SW,y3,lDe,wde,eM,hDe,x3,tM,_W,Ev,yde,UE,AW,Cv,fDe,dDe,gDe,VE,pDe,gTt,pTt,bTt,mTt,k3,y4,Ds,D2,vTt,x4,bDe,GE,mDe,k4,wTt,KE,vDe,Zx,yTt,xTt,OB,xde,wDe,NB,y0,U6,V6,T3,Sv,LW,T4,kde,WE,YE,E3,G6,Tde,PB,nM,rM,kTt,TTt,ETt,yDe,CTt,Ede,xDe,kDe,TDe,EDe,Cde,CDe,SDe,_De,ADe,Sde,MW;I(cu,"LayeredOptions",998),D(999,1,{},Jee),h.sf=function(){var t;return t=new vJe,t},h.tf=function(t){},I(cu,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),h.a=0;var STt;I(Kc,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},Y8e);var DW,_Tt;I(cu,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},I5),h.dg=function(){return pmt(this)},h.qg=function(){return pmt(this)};var XE,_de,QE,LDe,MDe,DDe,IW,Ade,IDe,ODe=Br(cu,"LayeringStrategy",265,Hr,s3n,l1n),ATt;D(390,22,{3:1,34:1,22:1,390:1},Rse);var Lde,NDe,OW,PDe=Br(cu,"LongEdgeOrderingStrategy",390,Hr,hbn,h1n),LTt;D(203,22,{3:1,34:1,22:1,203:1},Tq);var K6,W6,NW,Mde,Dde=Br(cu,"NodeFlexibility",203,Hr,ymn,f1n),MTt;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},wO),h.dg=function(){return sbt(this)},h.qg=function(){return sbt(this)};var iM,Ide,Ode,sM,BDe,FDe=Br(cu,"NodePlacementStrategy",323,Hr,hvn,d1n),DTt;D(243,22,{3:1,34:1,22:1,243:1},dy);var RDe,C3,E4,BB,jDe,$De,FB,zDe,PW,BW,qDe=Br(cu,"NodePromotionStrategy",243,Hr,M3n,g1n),ITt;D(284,22,{3:1,34:1,22:1,284:1},Eq);var HDe,I2,Nde,Pde,UDe=Br(cu,"OrderingStrategy",284,Hr,xmn,p1n),OTt;D(430,22,{3:1,34:1,22:1,430:1},nye);var Bde,Fde,VDe=Br(cu,"PortSortingStrategy",430,Hr,d2n,b1n),NTt;D(463,22,{3:1,34:1,22:1,463:1},jse);var Fl,$u,aM,PTt=Br(cu,"PortType",463,Hr,fbn,m1n),BTt;D(387,22,{3:1,34:1,22:1,387:1},$se);var GDe,Rde,KDe,WDe=Br(cu,"SelfLoopDistributionStrategy",387,Hr,dbn,v1n),FTt;D(349,22,{3:1,34:1,22:1,349:1},zse);var jde,RB,$de,YDe=Br(cu,"SelfLoopOrderingStrategy",349,Hr,gbn,w1n),RTt;D(312,1,{312:1},Qvt),I(cu,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},qse);var zde,XDe,oM,QDe=Br(cu,"SplineRoutingMode",350,Hr,pbn,y1n),jTt;D(352,22,{3:1,34:1,22:1,352:1},Hse);var qde,JDe,ZDe,eIe=Br(cu,"ValidifyStrategy",352,Hr,bbn,x1n),$Tt;D(388,22,{3:1,34:1,22:1,388:1},Use);var C4,Hde,JE,tIe=Br(cu,"WrappingStrategy",388,Hr,mbn,k1n),zTt;D(1398,1,Vo,sie),h.rg=function(t){return l(t,36),qTt},h.Kf=function(t,n){tMn(this,l(t,36),n)};var qTt;I(BG,"DepthFirstCycleBreaker",1398),D(793,1,Vo,p5e),h.rg=function(t){return l(t,36),HTt},h.Kf=function(t,n){iOn(this,l(t,36),n)},h.sg=function(t){return l(Rt(t,dV(this.d,t.c.length)),10)};var HTt;I(BG,"GreedyCycleBreaker",793),D(1401,793,Vo,bnt),h.sg=function(t){var n,r,s,o;for(o=null,n=Ni,s=new K(t);s.a1&&(Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),w3))))?vbt(t,this.d,l(this,669)):(Cn(),Gs(t,this.d)),w0t(this.e,t))},h.lg=function(t,n,r,s){var o,f,g,w,T,C,L;for(n!=Bst(r,t.length)&&(f=t[n-(r?1:-1)],U6e(this.f,f,r?(qo(),$u):(qo(),Fl))),o=t[n][0],L=!s||o.k==(Jn(),Ks),C=O1(t[n]),this.vg(C,L,!1,r),g=0,T=new K(C);T.a"),t0?Eoe(this.a,t[n-1],t[n]):!r&&n1&&(Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),w3))))?vbt(t,this.d,this):(Cn(),Gs(t,this.d)),Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),w3)))||w0t(this.e,t))},I(El,"ModelOrderBarycenterHeuristic",669),D(1866,1,ii,mXe),h.Ne=function(t,n){return ekn(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(El,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,Vo,fie),h.rg=function(t){var n;return l(t,36),n=$q(sEt),hi(n,(so(),pu),(po(),VK)),n},h.Kf=function(t,n){Fpn((l(t,36),n))};var sEt;I(El,"NoCrossingMinimizer",1423),D(809,413,_Ce,C3e),h.tg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V;switch(F=this.g,r.g){case 1:{for(o=0,f=0,L=new K(t.j);L.a1&&(o.j==(_t(),sr)?this.b[t]=!0:o.j==Zn&&t>0&&(this.b[t-1]=!0))},h.f=0,I(wg,"AllCrossingsCounter",1861),D(595,1,{},DU),h.b=0,h.d=0,I(wg,"BinaryIndexedTree",595),D(532,1,{},$O);var iIe,RW;I(wg,"CrossingsCounter",532),D(1950,1,ii,vXe),h.Ne=function(t,n){return ugn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,ii,wXe),h.Ne=function(t,n){return lgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,ii,yXe),h.Ne=function(t,n){return hgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,ii,xXe),h.Ne=function(t,n){return fgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,hr,kXe),h.Cd=function(t){fwn(this.a,l(t,12))},I(wg,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,ei,TXe),h.Mb=function(t){return Fln(this.a,l(t,12))},I(wg,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,hr,EXe),h.Cd=function(t){ont(this,t)},I(wg,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,hr,vtt),h.Cd=function(t){var n;zk(),Tb(this.b,(n=this.a,l(t,12),n))},I(wg,"CrossingsCounter/lambda$7$Type",1957),D(839,1,Ld,r$),h.Lb=function(t){return zk(),rs(l(t,12),(ft(),Bl))},h.Fb=function(t){return this===t},h.Mb=function(t){return zk(),rs(l(t,12),(ft(),Bl))},I(wg,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},CXe),I(wg,"HyperedgeCrossingsCounter",1949),D(478,1,{34:1,478:1},xit),h.Fd=function(t){return h6n(this,l(t,478))},h.b=0,h.c=0,h.e=0,h.f=0;var VOn=I(wg,"HyperedgeCrossingsCounter/Hyperedge",478);D(374,1,{34:1,374:1},IH),h.Fd=function(t){return CEn(this,l(t,374))},h.b=0,h.c=0;var aEt=I(wg,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},rye);var uM,lM,oEt=Br(wg,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Hr,g2n,E1n),cEt;D(1425,1,Vo,die),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?uEt:null},h.Kf=function(t,n){B8n(this,l(t,36),n)};var uEt;I(Go,"InteractiveNodePlacer",1425),D(1426,1,Vo,gie),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?lEt:null},h.Kf=function(t,n){y7n(this,l(t,36),n)};var lEt,jW,$W;I(Go,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},Zwe),h.Fd=function(t){return Yun(this,l(t,261))},h.Fb=function(t){var n;return De(t,261)?(n=l(t,261),this.b==n.b):!1},h.Hb=function(){return this.b},h.Ib=function(){return"ls"+Ob(this.e)},h.a=0,h.b=0,h.c=-1,h.d=-1,h.g=0;var hEt=I(Go,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,Vo,Gst),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?fEt:null},h.Kf=function(t,n){YIn(this,l(t,36),n)},h.b=0,h.g=0;var fEt;I(Go,"NetworkSimplexPlacer",1428),D(1447,1,ii,ate),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Go,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,ii,ote),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Go,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},wtt);var GOn=I(Go,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},Y5e),h.b=!1;var KOn=I(Go,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},_Je),I(Go,"NetworkSimplexPlacer/Path",515),D(1429,1,{},cte),h.Kb=function(t){return l(t,18).d.i.k},I(Go,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,ei,ute),h.Mb=function(t){return l(t,273)==(Jn(),Aa)},I(Go,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},lte),h.Kb=function(t){return l(t,18).d.i},I(Go,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,ei,SXe),h.Mb=function(t){return sit(cdt(l(t,10)))},I(Go,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,ei,hte),h.Mb=function(t){return Kdn(l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,hr,ytt),h.Cd=function(t){Ahn(this.a,this.b,l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,hr,_Xe),h.Cd=function(t){eTn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},fte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,hr,AXe),h.Cd=function(t){WSn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},dte),h.Kb=function(t){return Sh(),bt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},gte),h.Kb=function(t){return Sh(),bt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,ei,pte),h.Mb=function(t){return Sh(),l(t,412).c.k==(Jn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,ei,bte),h.Mb=function(t){return Sh(),l(t,412).c.j.c.length>1},I(Go,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,hr,eot),h.Cd=function(t){O5n(this.c,this.b,this.d,this.a,l(t,412))},h.c=0,h.d=0,I(Go,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},mte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,hr,LXe),h.Cd=function(t){Mhn(this.a,l(t,12))},h.a=0,I(Go,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},vte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,hr,MXe),h.Cd=function(t){qhn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,ei,wte),h.Mb=function(t){return sit(t)},I(Go,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},yte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,ei,DXe),h.Mb=function(t){return Qln(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,hr,xtt),h.Cd=function(t){ikn(this.a,this.b,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,ei,a8),h.Mb=function(t){return Sh(),!Ao(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,ei,i$),h.Mb=function(t){return Sh(),!Ao(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},IXe),h.Ve=function(t,n){return Lhn(this.a,l(t,30),l(n,30))},I(Go,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},xte),h.Kb=function(t){return Sh(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,ei,kte),h.Mb=function(t){return Sh(),smn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,hr,OXe),h.Cd=function(t){rLn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},Tte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,ei,s$),h.Mb=function(t){return Sh(),l(t,10).k==(Jn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},Ete),h.Kb=function(t){return Sh(),new vn(null,new Cw(new lr(fr(up(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,ei,CS),h.Mb=function(t){return Sh(),Gdn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,Vo,pie),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?dEt:null},h.Kf=function(t,n){FLn(l(t,36),n)};var dEt;I(Go,"SimpleNodePlacer",1424),D(185,1,{185:1},g6),h.Ib=function(){var t;return t="",this.c==(xd(),S3)?t+=Ix:this.c==O2&&(t+=Dx),this.o==(D1(),_v)?t+=Ohe:this.o==Y1?t+="UP":t+="BALANCED",t},I(zb,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},iye);var O2,S3,gEt=Br(zb,"BKAlignedLayout/HDirection",523,Hr,b2n,C1n),pEt;D(522,22,{3:1,34:1,22:1,522:1},sye);var _v,Y1,bEt=Br(zb,"BKAlignedLayout/VDirection",522,Hr,m2n,S1n),mEt;D(1699,1,{},ktt),I(zb,"BKAligner",1699),D(1702,1,{},Ogt),I(zb,"BKCompactor",1702),D(663,1,{663:1},Cte),h.a=0,I(zb,"BKCompactor/ClassEdge",663),D(467,1,{467:1},EJe),h.a=null,h.b=0,I(zb,"BKCompactor/ClassNode",467),D(1427,1,Vo,Stt),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?vEt:null},h.Kf=function(t,n){dOn(this,l(t,36),n)},h.d=!1;var vEt;I(zb,"BKNodePlacer",1427),D(1700,1,{},Ste),h.d=0,I(zb,"NeighborhoodInformation",1700),D(1701,1,ii,NXe),h.Ne=function(t,n){return zwn(this,l(t,42),l(n,42))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(zb,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(zb,"ThresholdStrategy",823),D(1825,823,{},CJe),h.wg=function(t,n,r){return this.a.o==(D1(),Y1)?gs:oa},h.xg=function(){},I(zb,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},_tt),h.c=!1,h.d=!1,I(zb,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},SJe),h.wg=function(t,n,r){var s,o,f;return o=n==r,s=this.a.a[r.p]==n,o||s?(f=t,this.a.c==(xd(),S3)?(o&&(f=Ile(this,n,!0)),!isNaN(f)&&!isFinite(f)&&s&&(f=Ile(this,r,!1))):(o&&(f=Ile(this,n,!0)),!isNaN(f)&&!isFinite(f)&&s&&(f=Ile(this,r,!1))),f):t},h.xg=function(){for(var t,n,r,s,o;this.d.b!=0;)o=l(I2n(this.d),587),s=svt(this,o),s.a&&(t=s.a,r=Ft(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Ao(t)&&t.c.i.c==t.d.i.c)&&(n=lbt(this,o),n||ehn(this.e,o)));for(;this.e.a.c.length!=0;)lbt(this,l(h1t(this.e),587))},I(zb,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},_te),h.dg=function(){return y0t(this)},h.qg=function(){return y0t(this)};var Ude;I(Dfe,"EdgeRouterFactory",645),D(1485,1,Vo,bie),h.rg=function(t){return ESn(l(t,36))},h.Kf=function(t,n){ULn(l(t,36),n)};var wEt,yEt,xEt,kEt,TEt,sIe,EEt,CEt;I(Dfe,"OrthogonalEdgeRouter",1485),D(1478,1,Vo,Ctt),h.rg=function(t){return G8n(l(t,36))},h.Kf=function(t,n){dIn(this,l(t,36),n)};var SEt,_Et,AEt,LEt,$B,MEt;I(Dfe,"PolylineEdgeRouter",1478),D(1479,1,Ld,Lte),h.Lb=function(t){return G7e(l(t,10))},h.Fb=function(t){return this===t},h.Mb=function(t){return G7e(l(t,10))},I(Dfe,"PolylineEdgeRouter/1",1479),D(1872,1,ei,Mte),h.Mb=function(t){return l(t,132).c==(Q0(),Qb)},I(r1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},Dte),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,ei,Ite),h.Mb=function(t){return l(t,132).c==(Q0(),Qb)},I(r1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},Ote),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},Nte),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},Ate),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},LN),h.Fd=function(t){return Xun(this,l(t,118))},h.Fb=function(t){var n;return De(t,118)?(n=l(t,118),this.g==n.g):!1},h.Hb=function(){return this.g},h.Ib=function(){var t,n,r,s;for(t=new Eh("{"),s=new K(this.n);s.a"+this.b+" ("+pfn(this.c)+")"},h.d=0,I(r1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},aye);var Qb,S4,DEt=Br(r1,"HyperEdgeSegmentDependency/DependencyType",528,Hr,v2n,_1n),IEt;D(1878,1,{},PXe),I(r1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},_Ze),h.a=0,h.b=0,I(r1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},Iae),h.a=0,h.b=0,h.c=0,I(r1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,ii,o8),h.Ne=function(t,n){return p0n(l(t,118),l(n,118))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(r1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,hr,tot),h.Cd=function(t){Hmn(this.a,this.d,this.c,this.b,l(t,118))},h.b=0,I(r1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},Pte),h.Kb=function(t){return new vn(null,new kn(l(t,118).e,16))},I(r1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},Bte),h.Kb=function(t){return new vn(null,new kn(l(t,118).j,16))},I(r1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},Fte),h.Ye=function(t){return ze(Ge(t))},I(r1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},roe),h.a=0,h.b=0,h.c=0,I(r1,"OrthogonalRoutingGenerator",664),D(1703,1,{},Rte),h.Kb=function(t){return new vn(null,new kn(l(t,118).e,16))},I(r1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},jte),h.Kb=function(t){return new vn(null,new kn(l(t,118).j,16))},I(r1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(Ife,"BaseRoutingDirectionStrategy",670),D(1870,670,{},MJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new K(t.n);C.aDd&&(f=L,o=t,s=new lt(F,f),ci(g.a,s),Qw(this,g,o,s,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1),f=n+z.o*r,o=z,s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1)),s=new lt(te,f),ci(g.a,s),Qw(this,g,o,s,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return _t(),Mr},h.Bg=function(){return _t(),Xn},I(Ife,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},DJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n-t.o*r,C=new K(t.n);C.aDd&&(f=L,o=t,s=new lt(F,f),ci(g.a,s),Qw(this,g,o,s,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1),f=n-z.o*r,o=z,s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1)),s=new lt(te,f),ci(g.a,s),Qw(this,g,o,s,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return _t(),Xn},h.Bg=function(){return _t(),Mr},I(Ife,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},IJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new K(t.n);C.aDd&&(f=L,o=t,s=new lt(f,F),ci(g.a,s),Qw(this,g,o,s,!0),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(f,V),ci(g.a,s),Qw(this,g,o,s,!0),f=n+z.o*r,o=z,s=new lt(f,V),ci(g.a,s),Qw(this,g,o,s,!0)),s=new lt(f,te),ci(g.a,s),Qw(this,g,o,s,!0)))},h.zg=function(t){return t.i.n.b+t.n.b+t.a.b},h.Ag=function(){return _t(),sr},h.Bg=function(){return _t(),Zn},I(Ife,"WestToEastRoutingStrategy",1869),D(828,1,{},Uke),h.Ib=function(){return Ob(this.a)},h.b=0,h.c=!1,h.d=!1,h.f=0,I(n4,"NubSpline",828),D(418,1,{418:1},Hbt,Oot),I(n4,"NubSpline/PolarCP",418),D(1480,1,Vo,Cgt),h.rg=function(t){return Pxn(l(t,36))},h.Kf=function(t,n){IIn(this,l(t,36),n)};var OEt,NEt,PEt,BEt,FEt;I(n4,"SplineEdgeRouter",1480),D(274,1,{274:1},tU),h.Ib=function(){return this.a+" ->("+this.c+") "+this.b},h.c=0,I(n4,"SplineEdgeRouter/Dependency",274),D(465,22,{3:1,34:1,22:1,465:1},oye);var Jb,Y6,REt=Br(n4,"SplineEdgeRouter/SideToProcess",465,Hr,E2n,A1n),jEt;D(1481,1,ei,$te),h.Mb=function(t){return KA(),!l(t,131).o},I(n4,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},zte),h.Ze=function(t){return KA(),l(t,131).v+1},I(n4,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,hr,Att),h.Cd=function(t){Xdn(this.a,this.b,l(t,42))},I(n4,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,hr,Ltt),h.Cd=function(t){Qdn(this.a,this.b,l(t,42))},I(n4,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},r2t,Xke),h.Fd=function(t){return Zun(this,l(t,131))},h.b=0,h.e=!1,h.f=0,h.g=0,h.j=!1,h.k=!1,h.n=0,h.o=!1,h.p=!1,h.q=!1,h.s=0,h.u=0,h.v=0,h.F=0,I(n4,"SplineSegment",131),D(468,1,{468:1},qte),h.a=0,h.b=!1,h.c=!1,h.d=!1,h.e=!1,h.f=0,I(n4,"SplineSegment/EdgeInformation",468),D(1198,1,{},SS),I(vp,KTe,1198),D(1199,1,ii,Hte),h.Ne=function(t,n){return mTn(l(t,121),l(n,121))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vp,Z3t,1199),D(1197,1,{},HZe),I(vp,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},Cq),h.dg=function(){return E2t(this)},h.qg=function(){return E2t(this)};var zW,hM,fM,dM,aIe=Br(vp,"TreeLayoutPhases",405,Hr,Smn,L1n),$Et;D(1112,205,uv,wit),h.rf=function(t,n){var r,s,o,f,g,w,T,C;for(Ft(Pt(at(t,(Vc(),DIe))))||tN((r=new nw((dw(),new sw(t))),r)),g=n.eh(Pfe),g.Ug("build tGraph",1),w=(T=new lN,mc(T,t),rt(T,(Zi(),pM),t),C=new Nr,lAn(t,T,C),LAn(t,T,C),T),g.Vg(),g=n.eh(Pfe),g.Ug("Split graph",1),f=bAn(this.a,w),g.Vg(),o=new K(f);o.a"+Um(this.c):"e_"+ts(this)},I(wL,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},lN),h.Ib=function(){var t,n,r,s,o;for(o=null,s=Fr(this.b,0);s.b!=s.d.c;)r=l(Pr(s),40),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=Fr(this.a,0);n.b!=n.d.c;)t=l(Pr(n),65),o+=(t.b&&t.c?Um(t.b)+"->"+Um(t.c):"e_"+ts(t))+` +`;return o};var WOn=I(wL,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(wL,"TShape",643),D(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Pce),h.Ib=function(){return Um(this)};var qW=I(wL,"TNode",40);D(236,1,gg,Kg),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=Fr(this.a.d,0),new _5(t)},I(wL,"TNode/2",236),D(329,1,Ia,_5),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(Pr(this.a),65).c},h.Ob=function(){return sO(this.a)},h.Qb=function(){uce(this.a)},I(wL,"TNode/2/1",329),D(1923,1,ns,Xte),h.Kf=function(t,n){cOn(this,l(t,121),n)},I(Eu,"CompactionProcessor",1923),D(1924,1,ii,$Xe),h.Ne=function(t,n){return Y3n(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,ei,Dtt),h.Mb=function(t){return t2n(this.b,this.a,l(t,42))},h.a=0,h.b=0,I(Eu,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,ii,c8),h.Ne=function(t,n){return Ggn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,ii,a$),h.Ne=function(t,n){return afn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,ii,Qte),h.Ne=function(t,n){return Kgn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,ei,zXe),h.Mb=function(t){return Hhn(this.a,l(t,42))},h.a=0,I(Eu,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,ei,qXe),h.Mb=function(t){return Uhn(this.a,l(t,42))},h.a=0,I(Eu,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,ei,TI),h.Mb=function(t){return l(t,40).c.indexOf(RG)==-1},I(Eu,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},HXe),h.Kb=function(t){return rmn(this.a,l(t,40))},h.a=0,I(Eu,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},UXe),h.Kb=function(t){return hwn(this.a,l(t,40))},h.a=0,I(Eu,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,ii,VXe),h.Ne=function(t,n){return kvn(this.a,l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,ii,GXe),h.Ne=function(t,n){return Tvn(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,ii,Jte),h.Ne=function(t,n){return ofn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,ns,Zte),h.Kf=function(t,n){i_n(l(t,121),n)},I(Eu,"DirectionProcessor",1921),D(1913,1,ns,vit),h.Kf=function(t,n){_An(this,l(t,121),n)},I(Eu,"FanProcessor",1913),D(1937,1,ns,ene),h.Kf=function(t,n){GSn(l(t,121),n)},I(Eu,"GraphBoundsProcessor",1937),D(1938,1,{},tne),h.Ye=function(t){return l(t,40).e.a},I(Eu,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},nne),h.Ye=function(t){return l(t,40).e.b},I(Eu,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},rne),h.Ye=function(t){return Sln(l(t,40))},I(Eu,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},ine),h.Ye=function(t){return Cln(l(t,40))},I(Eu,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},gw),h.dg=function(){switch(this.g){case 0:return new GJe;case 1:return new vit;case 2:return new VJe;case 3:return new u$;case 4:return new sne;case 8:return new o$;case 5:return new Zte;case 6:return new h$;case 7:return new Xte;case 9:return new ene;case 10:return new one;default:throw ue(new Wn(Qhe+(this.f!=null?this.f:""+this.g)))}};var oIe,cIe,uIe,lIe,hIe,fIe,dIe,gIe,pIe,bIe,Vde,YOn=Br(Eu,Jhe,262,Hr,f0t,M1n),zEt;D(1920,1,ns,o$),h.Kf=function(t,n){sIn(l(t,121),n)},I(Eu,"LevelCoordinatesProcessor",1920),D(1918,1,ns,sne),h.Kf=function(t,n){SCn(this,l(t,121),n)},h.a=0,I(Eu,"LevelHeightProcessor",1918),D(1919,1,gg,c$),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(Eu,"LevelHeightProcessor/1",1919),D(1914,1,ns,VJe),h.Kf=function(t,n){$Sn(this,l(t,121),n)},I(Eu,"LevelProcessor",1914),D(1915,1,ei,ane),h.Mb=function(t){return Ft(Pt(Q(l(t,40),(Zi(),Zb))))},I(Eu,"LevelProcessor/lambda$0$Type",1915),D(1916,1,ns,u$),h.Kf=function(t,n){Tkn(this,l(t,121),n)},h.a=0,I(Eu,"NeighborsProcessor",1916),D(1917,1,gg,l$),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(Eu,"NeighborsProcessor/1",1917),D(1922,1,ns,h$),h.Kf=function(t,n){SAn(this,l(t,121),n)},h.a=0,I(Eu,"NodePositionProcessor",1922),D(1912,1,ns,GJe),h.Kf=function(t,n){oMn(this,l(t,121),n)},I(Eu,"RootProcessor",1912),D(1942,1,ns,one),h.Kf=function(t,n){r7n(l(t,121),n)},I(Eu,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Kse);var zB,Gde,mIe,vIe=Br(ZP,"EdgeRoutingMode",392,Hr,wbn,D1n),qEt,qB,ZE,Kde,wIe,yIe,Wde,Yde,xIe,Xde,kIe,Qde,gM,Jde,HW,UW,x0,o1,eC,pM,bM,N2,TIe,HEt,Zde,Zb,HB,UB;D(862,1,Pf,mie),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MCe),""),Vyt),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DCe),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ICe),""),"Tree Level"),"The index for the tree level the node is in"),bt(0)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OCe),""),Vyt),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,NCe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),SIe),ps),RIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PCe),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),EIe),ps),vIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,BCe),""),"Search Order"),"Which search order to use when computing a spanning tree."),CIe),ps),$Ie),hn(Bn)))),Nwt((new w8,t))};var UEt,VEt,GEt,EIe,KEt,WEt,CIe,YEt,XEt,SIe;I(ZP,"MrTreeMetaDataProvider",862),D(1006,1,Pf,w8),h.hf=function(t){Nwt(t)};var QEt,_Ie,AIe,_3,LIe,MIe,ege,JEt,ZEt,eCt,tCt,nCt,rCt,iCt,DIe,IIe,OIe,sCt,X6,VW,NIe,aCt,PIe,tge,oCt,cCt,uCt,BIe,lCt,$d,FIe;I(ZP,"MrTreeOptions",1006),D(1007,1,{},cne),h.sf=function(){var t;return t=new wit,t},h.tf=function(t){},I(ZP,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},Sq);var nge,GW,rge,ige,RIe=Br(ZP,"OrderWeighting",353,Hr,_mn,I1n),hCt;D(433,22,{3:1,34:1,22:1,433:1},cye);var jIe,sge,$Ie=Br(ZP,"TreeifyingOrder",433,Hr,k2n,O1n),fCt;D(1486,1,Vo,yie),h.rg=function(t){return l(t,121),dCt},h.Kf=function(t,n){F3n(this,l(t,121),n)};var dCt;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,Vo,pk),h.rg=function(t){return l(t,121),gCt},h.Kf=function(t,n){USn(this,l(t,121),n)};var gCt;I(mE,"NodeOrderer",1487),D(1494,1,{},Owe),h.td=function(t){return Cst(t)},I(mE,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,ei,yne),h.Mb=function(t){return lx(),Ft(Pt(Q(l(t,40),(Zi(),Zb))))},I(mE,"NodeOrderer/lambda$0$Type",1488),D(1489,1,ei,xne),h.Mb=function(t){return lx(),l(Q(l(t,40),(Vc(),X6)),17).a<0},I(mE,"NodeOrderer/lambda$1$Type",1489),D(1490,1,ei,WXe),h.Mb=function(t){return f3n(this.a,l(t,40))},I(mE,"NodeOrderer/lambda$2$Type",1490),D(1491,1,ei,KXe),h.Mb=function(t){return amn(this.a,l(t,40))},I(mE,"NodeOrderer/lambda$3$Type",1491),D(1492,1,ii,kne),h.Ne=function(t,n){return Pwn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mE,"NodeOrderer/lambda$4$Type",1492),D(1493,1,ei,Tne),h.Mb=function(t){return lx(),l(Q(l(t,40),(Zi(),Yde)),17).a!=0},I(mE,"NodeOrderer/lambda$5$Type",1493),D(1495,1,Vo,wie),h.rg=function(t){return l(t,121),pCt},h.Kf=function(t,n){Z_n(this,l(t,121),n)},h.b=0;var pCt;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,Vo,vie),h.rg=function(t){return l(t,121),bCt},h.Kf=function(t,n){N_n(l(t,121),n)};var bCt,XOn=I(ph,"EdgeRouter",1496);D(1498,1,ii,wne),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},une),h.Ye=function(t){return ze(Ge(t))},I(ph,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,ii,d$),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,ii,lne),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},f$),h.Ye=function(t){return ze(Ge(t))},I(ph,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,ii,hne),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,ii,EI),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},fne),h.Kb=function(t){return sp(),l(Q(l(t,40),(Vc(),$d)),17)},I(ph,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},dne),h.Kb=function(t){return yfn(l(t,40))},I(ph,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},Itt),h.Kb=function(t){return Wdn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},Ott),h.Kb=function(t){return xfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$15$Type",1512),D(1514,1,ii,gne),h.Ne=function(t,n){return O6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$17$Type",1514),D(1515,1,ii,pne),h.Ne=function(t,n){return N6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$18$Type",1515),D(1516,1,ii,bne),h.Ne=function(t,n){return B6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$19$Type",1516),D(1499,1,ei,YXe),h.Mb=function(t){return F2n(this.a,l(t,40))},h.a=0,I(ph,"EdgeRouter/lambda$2$Type",1499),D(1517,1,ii,g$),h.Ne=function(t,n){return P6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$20$Type",1517),D(1500,1,ii,mne),h.Ne=function(t,n){return Ndn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$3$Type",1500),D(1501,1,ii,vne),h.Ne=function(t,n){return Pdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},Ene),h.Kb=function(t){return kfn(l(t,40))},I(ph,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},Ntt),h.Kb=function(t){return Ydn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},Ptt),h.Kb=function(t){return Tfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},dgt),h.e=0,h.f=!1,h.g=!1,I(ph,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,ii,Cne),h.Ne=function(t,n){return K2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,ii,Sne),h.Ne=function(t,n){return W2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var Q6;D(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},uye),h.dg=function(){return Z1t(this)},h.qg=function(){return Z1t(this)};var KW,J6,zIe=Br(FCe,"RadialLayoutPhases",501,Hr,p2n,N1n),mCt;D(1113,205,uv,qZe),h.rf=function(t,n){var r,s,o,f,g,w;if(r=Rbt(this,t),n.Ug("Radial layout",r.c.length),Ft(Pt(at(t,(Pb(),JIe))))||tN((s=new nw((dw(),new sw(t))),s)),w=Rxn(t),Vi(t,(V5(),Q6),w),!w)throw ue(new Wn("The given graph is not a tree!"));for(o=ze(Ge(at(t,XW))),o==0&&(o=v2t(t)),Vi(t,XW,o),g=new K(Rbt(this,t));g.a=3)for(ot=l(Oe($e,0),27),At=l(Oe($e,1),27),f=0;f+2<$e.i;)if(Je=ot,ot=At,At=l(Oe($e,f+2),27),Je.f>=ot.f+At.f+L||At.f>=Je.f+ot.f+L){ln=!0;break}else++f;else ln=!0;if(!ln){for(z=$e.i,w=new ar($e);w.e!=w.i.gc();)g=l(dr(w),27),Vi(g,(bi(),iF),bt(z)),--z;gvt(t,new M8),n.Vg();return}for(r=(XO(this.a),Y0(this.a,(tV(),GB),l(at(t,_Oe),188)),Y0(this.a,QW,l(at(t,xOe),188)),Y0(this.a,mge,l(at(t,EOe),188)),_ye(this.a,(Fn=new Js,hi(Fn,GB,(fV(),yge)),hi(Fn,QW,wge),Ft(Pt(at(t,wOe)))&&hi(Fn,GB,vge),Fn)),EP(this.a,t)),C=1/r.c.length,J=new K(r);J.a0&&T1t((Yn(n-1,t.length),t.charCodeAt(n-1)),lyt);)--n;if(s>=n)throw ue(new Wn("The given string does not contain any numbers."));if(o=Yy((Va(s,n,t.length),t.substr(s,n-s)),`,|;|\r| +`),o.length!=2)throw ue(new Wn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=qy(Hy(o[0])),this.b=qy(Hy(o[1]))}catch(f){throw f=ms(f),De(f,130)?(r=f,ue(new Wn(hyt+r))):ue(f)}},h.Ib=function(){return"("+this.a+","+this.b+")"},h.a=0,h.b=0;var Ca=I(WP,"KVector",8);D(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},pl,Zz,qrt),h.Pc=function(){return e4n(this)},h.cg=function(t){var n,r,s,o,f,g;s=Yy(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ch(this);try{for(r=0,f=0,o=0,g=0;r0&&(f%2==0?o=qy(s[r]):g=qy(s[r]),f>0&&f%2!=0&&ci(this,new lt(o,g)),++f),++r}catch(w){throw w=ms(w),De(w,130)?(n=w,ue(new Wn("The given string does not match the expected format for vectors."+n))):ue(w)}},h.Ib=function(){var t,n,r;for(t=new Eh("("),n=Fr(this,0);n.b!=n.d.c;)r=l(Pr(n),8),li(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var lNe=I(WP,"KVectorChain",75);D(255,22,{3:1,34:1,22:1,255:1},A_);var $ge,oY,cY,QB,JB,uY,hNe=Br(Zl,"Alignment",255,Hr,Qvn,idn),QSt;D(991,1,Pf,Sie),h.hf=function(t){Qmt(t)};var fNe,zge,JSt,dNe,gNe,ZSt,pNe,e_t,t_t,bNe,mNe,n_t;I(Zl,"BoxLayouterOptions",991),D(992,1,{},nk),h.sf=function(){var t;return t=new Zne,t},h.tf=function(t){},I(Zl,"BoxLayouterOptions/BoxFactory",992),D(298,22,{3:1,34:1,22:1,298:1},L_);var EM,qge,CM,SM,_M,Hge,Uge=Br(Zl,"ContentAlignment",298,Hr,Jvn,sdn),r_t;D(699,1,Pf,bz),h.hf=function(t){an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,f4t),""),"Layout Algorithm"),"Select a specific layout algorithm."),(T2(),e7)),$t),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,d4t),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),X1),ZOn),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,aCe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),vNe),ps),hNe),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,Nx),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wSe),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),X1),lNe),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OG),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),yNe),n9),Uge),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,JP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Hn(),!1)),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Afe),""),$Te),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),xNe),ps),MM),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QP),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),ENe),ps),ipe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mSe),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,IG),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),_Ne),ps),dPe),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,r3),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),BNe),X1),FAe),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fL),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PG),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dL),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Whe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),zNe),ps),bPe),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,NG),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),X1),Ca),is(pa,he(le(Eg,1),it,170,0,[Av,P2]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,qP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Sc),to),is(pa,he(le(Eg,1),it,170,0,[zd]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,gG),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,hL),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mCe),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),ANe),X1),lNe),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yCe),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xCe),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,SOn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),X1),iNn),is(Bn,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TCe),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),LNe),X1),BAe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,iCe),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),Ta),Ps),is(pa,he(le(Eg,1),it,170,0,[zd,Av,P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,g4t),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),co),ra),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,p4t),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,b4t),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,HP),""),o4t),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),Ta),Ps),hn(Bn)))),Zs(t,HP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,m4t),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,v4t),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),bt(100)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,w4t),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,y4t),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),bt(4e3)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,x4t),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),bt(400)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,k4t),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,T4t),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,E4t),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,C4t),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vSe),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),wNe),ps),SPe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,KEe),V1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,WEe),V1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zhe),V1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,YEe),V1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Khe),V1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_fe),V1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XEe),V1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ZEe),V1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QEe),V1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,JEe),V1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,t4),V1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,eCe),V1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tCe),V1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,nCe),V1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),X1),U_t),is(pa,he(le(Eg,1),it,170,0,[zd,Av,P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ECe),V1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),JNe),X1),BAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,Mfe),A4t),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Sc),to),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,Mfe,Lfe,f_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Lfe),A4t),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),FNe),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,uCe),L4t),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),DNe),X1),FAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gE),L4t),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),INe),n9),Ko),is(pa,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fCe),VG),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),jNe),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,dCe),VG),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,gCe),VG),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,pCe),VG),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,bCe),VG),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,T6),Jfe),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),ONe),n9),FM),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Px),Jfe),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),PNe),n9),vPe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Bx),Jfe),"Node Size Minimum"),"The minimal size to which a node can be reduced."),NNe),X1),Ca),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dE),Jfe),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vCe),Sfe),"Edge Label Placement"),"Gives a hint on where to put edge labels."),kNe),ps),tPe),hn(P2)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pG),Sfe),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),Ta),Ps),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,_On),"font"),"Font Name"),"Font name used for a label."),e7),$t),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,S4t),"font"),"Font Size"),"Font size used for a label."),Sc),to),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,kCe),Zfe),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),X1),Ca),hn(Av)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wCe),Zfe),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Sc),to),hn(Av)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,sCe),Zfe),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),UNe),ps),Mo),hn(Av)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,rCe),Zfe),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),co),ra),hn(Av)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pE),kSe),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),qNe),n9),pY),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lCe),kSe),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hCe),kSe),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,UP),tB),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),co),ra),hn(Bn)))),Zs(t,UP,i3,y_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ySe),tB),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),ps),xY),hn(pa)))),Zs(t,ySe,i3,x_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,VP),tB),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,VP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,GP),tB),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,GP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,i3),tB),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),ps),yPe),hn(pa)))),Zs(t,i3,dE,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xSe),tB),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),co),ra),hn(Bn)))),Zs(t,xSe,i3,w_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,oCe),M4t),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cCe),M4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),Ta),Ps),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,qhe),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),co),ra),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_4t),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),SNe),ps),oPe),hn(zd)))),v_(t,new rx(d_(_k(Sk(new sy,ir),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),v_(t,new rx(d_(_k(Sk(new sy,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),v_(t,new rx(d_(_k(Sk(new sy,Yu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),v_(t,new rx(d_(_k(Sk(new sy,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),v_(t,new rx(d_(_k(Sk(new sy,Gyt),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),v_(t,new rx(d_(_k(Sk(new sy,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),v_(t,new rx(d_(_k(Sk(new sy,df),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Bmt((new _ie,t)),Qmt((new Sie,t)),lmt((new mz,t))};var nC,i_t,vNe,t7,s_t,a_t,wNe,n7,r7,o_t,ZB,yNe,eF,Lv,xNe,Vge,Gge,kNe,TNe,ENe,CNe,SNe,c_t,i7,_Ne,u_t,tF,Kge,nF,Wge,A3,ANe,rC,LNe,MNe,DNe,s7,INe,Mv,ONe,A4,a7,NNe,em,PNe,lY,rF,B2,BNe,l_t,FNe,h_t,f_t,RNe,jNe,Yge,Xge,Qge,Jge,$Ne,eh,AM,zNe,Zge,epe,L4,qNe,HNe,o7,UNe,r9,iF,tpe,c7,d_t,npe,g_t,p_t,VNe,b_t,GNe,KNe,i9,WNe,hY,YNe,XNe,Dv,m_t,QNe,JNe,ZNe,fY,sF,LM,s9,v_t,w_t,dY,y_t,ePe,x_t;I(Zl,"CoreOptions",699),D(88,22,{3:1,34:1,22:1,88:1},CO);var Q1,hc,yc,J1,vf,MM=Br(Zl,$Te,88,Hr,nvn,adn),k_t;D(278,22,{3:1,34:1,22:1,278:1},tae);var iC,M4,sC,tPe=Br(Zl,"EdgeLabelPlacement",278,Hr,Dbn,odn),T_t;D(223,22,{3:1,34:1,22:1,223:1},Aq);var aC,aF,a9,rpe,ipe=Br(Zl,"EdgeRouting",223,Hr,Dmn,cdn),E_t;D(321,22,{3:1,34:1,22:1,321:1},M_);var nPe,rPe,iPe,sPe,spe,aPe,oPe=Br(Zl,"EdgeType",321,Hr,Xvn,udn),C_t;D(989,1,Pf,_ie),h.hf=function(t){Bmt(t)};var cPe,uPe,lPe,hPe,S_t,fPe,DM;I(Zl,"FixedLayouterOptions",989),D(990,1,{},C$),h.sf=function(){var t;return t=new sre,t},h.tf=function(t){},I(Zl,"FixedLayouterOptions/FixedFactory",990),D(346,22,{3:1,34:1,22:1,346:1},nae);var F2,gY,IM,dPe=Br(Zl,"HierarchyHandling",346,Hr,Lbn,ldn),__t;D(291,22,{3:1,34:1,22:1,291:1},Lq);var Cg,tm,oF,cF,A_t=Br(Zl,"LabelSide",291,Hr,Mmn,hdn),L_t;D(95,22,{3:1,34:1,22:1,95:1},O5);var xp,k0,zf,T0,jh,E0,qf,Sg,C0,Ko=Br(Zl,"NodeLabelPlacement",95,Hr,Qwn,fdn),M_t;D(256,22,{3:1,34:1,22:1,256:1},SO);var gPe,OM,nm,pPe,uF,NM=Br(Zl,"PortAlignment",256,Hr,mvn,ddn),D_t;D(101,22,{3:1,34:1,22:1,101:1},D_);var Iv,Au,_g,oC,Z1,rm,bPe=Br(Zl,"PortConstraints",101,Hr,Yvn,gdn),I_t;D(279,22,{3:1,34:1,22:1,279:1},I_);var PM,BM,kp,lF,im,o9,pY=Br(Zl,"PortLabelPlacement",279,Hr,Wvn,pdn),O_t;D(64,22,{3:1,34:1,22:1,64:1},_O);var sr,Xn,wf,yf,ul,Ju,ed,S0,Rl,Sl,Lu,jl,ll,hl,_0,$h,zh,Hf,Mr,jc,Zn,Mo=Br(Zl,"PortSide",64,Hr,rvn,bdn),N_t;D(993,1,Pf,mz),h.hf=function(t){lmt(t)};var P_t,B_t,mPe,F_t,R_t;I(Zl,"RandomLayouterOptions",993),D(994,1,{},S$),h.sf=function(){var t;return t=new nre,t},h.tf=function(t){},I(Zl,"RandomLayouterOptions/RandomFactory",994),D(386,22,{3:1,34:1,22:1,386:1},Mq);var D4,hF,fF,Ov,FM=Br(Zl,"SizeConstraint",386,Hr,Lmn,mdn),j_t;D(264,22,{3:1,34:1,22:1,264:1},N5);var dF,bY,cC,ape,gF,RM,mY,vY,wY,vPe=Br(Zl,"SizeOptions",264,Hr,u3n,vdn),$_t;D(280,22,{3:1,34:1,22:1,280:1},rae);var I4,wPe,yY,yPe=Br(Zl,"TopdownNodeTypes",280,Hr,Ibn,wdn),z_t;D(347,22,TSe);var xPe,kPe,xY=Br(Zl,"TopdownSizeApproximator",347,Hr,_2n,xdn);D(987,347,TSe,Est),h.Tg=function(t){return egt(t)},Br(Zl,"TopdownSizeApproximator/1",987,xY,null,null),D(988,347,TSe,uat),h.Tg=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(n=l(at(t,(bi(),c7)),143),At=(fb(),V=new o_,V),gP(At,t),ln=new Nr,f=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.e!=f.i.gc();)s=l(dr(f),27),Me=(z=new o_,z),BV(Me,At),gP(Me,s),Fn=egt(s),j5(Me,b.Math.max(s.g,Fn.a),b.Math.max(s.f,Fn.b)),Ru(ln.f,s,Me);for(o=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));o.e!=o.i.gc();)for(s=l(dr(o),27),L=new ar((!s.e&&(s.e=new An(js,s,7,4)),s.e));L.e!=L.i.gc();)C=l(dr(L),74),Je=l(dc(zo(ln.f,s)),27),ot=l(or(ln,Oe((!C.c&&(C.c=new An(Sr,C,5,8)),C.c),0)),27),$e=(F=new II,F),zr((!$e.b&&($e.b=new An(Sr,$e,4,7)),$e.b),Je),zr((!$e.c&&($e.c=new An(Sr,$e,5,8)),$e.c),ot),PV($e,ds(Je)),gP($e,C);te=l(eN(n.f),205);try{te.rf(At,new A$),$at(n.f,te)}catch($n){throw $n=ms($n),De($n,103)?(J=$n,ue(J)):ue($n)}return P1(At,r7)||P1(At,n7)||uTe(At),T=ze(Ge(at(At,r7))),w=ze(Ge(at(At,n7))),g=T/w,r=ze(Ge(at(At,sF)))*b.Math.sqrt((!At.a&&(At.a=new nt(Li,At,10,11)),At.a).i),cn=l(at(At,B2),107),Ee=cn.b+cn.c+1,fe=cn.d+cn.a+1,new lt(b.Math.max(Ee,r),b.Math.max(fe,r/g))},Br(Zl,"TopdownSizeApproximator/2",988,xY,null,null);var q_t;D(344,1,{871:1},M8),h.Ug=function(t,n){return dpt(this,t,n)},h.Vg=function(){Bpt(this)},h.Wg=function(){return this.q},h.Xg=function(){return this.f?voe(this.f):null},h.Yg=function(){return voe(this.a)},h.Zg=function(){return this.p},h.$g=function(){return!1},h._g=function(){return this.n},h.ah=function(){return this.p!=null&&!this.b},h.bh=function(t){var n;this.n&&(n=t,wt(this.f,n))},h.dh=function(t,n){var r,s;this.n&&t&&Kbn(this,(r=new xat,s=kle(r,t),ADn(r),s),(zU(),cpe))},h.eh=function(t){var n;return this.b?null:(n=Iwn(this,this.g),ci(this.a,n),n.i=this,this.d=t,n)},h.fh=function(t){t>0&&!this.b&&S7e(this,t)},h.b=!1,h.c=0,h.d=-1,h.e=null,h.f=null,h.g=-1,h.j=!1,h.k=!1,h.n=!1,h.o=0,h.q=0,h.r=0,I(Kc,"BasicProgressMonitor",344),D(717,205,uv,Zne),h.rf=function(t,n){gvt(t,n)},I(Kc,"BoxLayoutProvider",717),D(983,1,ii,oQe),h.Ne=function(t,n){return ACn(this,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},h.a=!1,I(Kc,"BoxLayoutProvider/1",983),D(163,1,{163:1},vU,Wrt),h.Ib=function(){return this.c?Cke(this.c):Ob(this.b)},I(Kc,"BoxLayoutProvider/Group",163),D(320,22,{3:1,34:1,22:1,320:1},Dq);var TPe,EPe,CPe,ope,SPe=Br(Kc,"BoxLayoutProvider/PackingMode",320,Hr,Imn,kdn),H_t;D(984,1,ii,rk),h.Ne=function(t,n){return Kpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$0$Type",984),D(985,1,ii,ik),h.Ne=function(t,n){return jpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$1$Type",985),D(986,1,ii,_$),h.Ne=function(t,n){return $pn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$2$Type",986),D(1384,1,{845:1},ere),h.Mg=function(t,n){return cq(),!De(n,167)||KZe((fx(),l(t,167)),n)},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),D(1385,1,hr,cQe),h.Cd=function(t){r4n(this.a,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),D(1386,1,hr,rre),h.Cd=function(t){l(t,96),cq()},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),D(1390,1,hr,uQe),h.Cd=function(t){C3n(this.a,l(t,96))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),D(1388,1,ei,jtt),h.Mb=function(t){return Ryn(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),D(1387,1,ei,$tt),h.Mb=function(t){return wfn(this.a,this.b,l(t,845))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),D(1389,1,hr,ztt),h.Cd=function(t){Ign(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),D(947,1,{},ire),h.Kb=function(t){return Bnt(t)},h.Fb=function(t){return this===t},I(Kc,"ElkUtil/lambda$0$Type",947),D(948,1,hr,qtt),h.Cd=function(t){DTn(this.a,this.b,l(t,74))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$1$Type",948),D(949,1,hr,Htt),h.Cd=function(t){kun(this.a,this.b,l(t,166))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$2$Type",949),D(950,1,hr,Utt),h.Cd=function(t){mhn(this.a,this.b,l(t,135))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$3$Type",950),D(951,1,hr,lQe),h.Cd=function(t){Zdn(this.a,l(t,377))},I(Kc,"ElkUtil/lambda$4$Type",951),D(325,1,{34:1,325:1},Jcn),h.Fd=function(t){return Ghn(this,l(t,242))},h.Fb=function(t){var n;return De(t,325)?(n=l(t,325),this.a==n.a):!1},h.Hb=function(){return da(this.a)},h.Ib=function(){return this.a+" (exclusive)"},h.a=0,I(Kc,"ExclusiveBounds/ExclusiveLowerBound",325),D(1119,205,uv,sre),h.rf=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;for(n.Ug("Fixed Layout",1),f=l(at(t,(bi(),TNe)),223),F=0,z=0,Me=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Me.e!=Me.i.gc();){for(fe=l(dr(Me),27),cn=l(at(fe,(qU(),DM)),8),cn&&(Xh(fe,cn.a,cn.b),l(at(fe,uPe),181).Hc((gh(),D4))&&(V=l(at(fe,hPe),8),V.a>0&&V.b>0&&Zw(fe,V.a,V.b,!0,!0))),F=b.Math.max(F,fe.i+fe.g),z=b.Math.max(z,fe.j+fe.f),C=new ar((!fe.n&&(fe.n=new nt(nc,fe,1,7)),fe.n));C.e!=C.i.gc();)w=l(dr(C),135),cn=l(at(w,DM),8),cn&&Xh(w,cn.a,cn.b),F=b.Math.max(F,fe.i+w.i+w.g),z=b.Math.max(z,fe.j+w.j+w.f);for(ot=new ar((!fe.c&&(fe.c=new nt($l,fe,9,9)),fe.c));ot.e!=ot.i.gc();)for(Je=l(dr(ot),123),cn=l(at(Je,DM),8),cn&&Xh(Je,cn.a,cn.b),At=fe.i+Je.i,ln=fe.j+Je.j,F=b.Math.max(F,At+Je.g),z=b.Math.max(z,ln+Je.f),T=new ar((!Je.n&&(Je.n=new nt(nc,Je,1,7)),Je.n));T.e!=T.i.gc();)w=l(dr(T),135),cn=l(at(w,DM),8),cn&&Xh(w,cn.a,cn.b),F=b.Math.max(F,At+w.i+w.g),z=b.Math.max(z,ln+w.j+w.f);for(o=new lr(fr(fp(fe).a.Kc(),new j));Rr(o);)r=l(yr(o),74),L=Awt(r),F=b.Math.max(F,L.a),z=b.Math.max(z,L.b);for(s=new lr(fr(dP(fe).a.Kc(),new j));Rr(s);)r=l(yr(s),74),ds(hg(r))!=t&&(L=Awt(r),F=b.Math.max(F,L.a),z=b.Math.max(z,L.b))}if(f==(cp(),aC))for(Ee=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Ee.e!=Ee.i.gc();)for(fe=l(dr(Ee),27),s=new lr(fr(fp(fe).a.Kc(),new j));Rr(s);)r=l(yr(s),74),g=OAn(r),g.b==0?Vi(r,A3,null):Vi(r,A3,g);Ft(Pt(at(t,(qU(),lPe))))||($e=l(at(t,S_t),107),te=F+$e.b+$e.c,J=z+$e.d+$e.a,Zw(t,te,J,!0,!0)),n.Vg()},I(Kc,"FixedLayoutProvider",1119),D(385,137,{3:1,423:1,385:1,96:1,137:1},DI,Sht),h.cg=function(t){var n,r,s,o,f,g,w,T,C;if(t)try{for(T=Yy(t,";,;"),f=T,g=0,w=f.length;g>16&ta|n^s<<16},h.Kc=function(){return new hQe(this)},h.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Tc(this.b)+")":this.b==null?"pair("+Tc(this.a)+",null)":"pair("+Tc(this.a)+","+Tc(this.b)+")"},I(Kc,"Pair",42),D(995,1,Ia,hQe),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},h.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw ue(new Dc)},h.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),ue(new gl)},h.b=!1,h.c=!1,I(Kc,"Pair/1",995),D(455,1,{455:1},not),h.Fb=function(t){return eu(this.a,l(t,455).a)&&eu(this.c,l(t,455).c)&&eu(this.d,l(t,455).d)&&eu(this.b,l(t,455).b)},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.a,this.c,this.d,this.b]))},h.Ib=function(){return"("+this.a+To+this.c+To+this.d+To+this.b+")"},I(Kc,"Quadruple",455),D(1108,205,uv,nre),h.rf=function(t,n){var r,s,o,f,g;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i==0){n.Vg();return}f=l(at(t,(exe(),F_t)),17),f&&f.a!=0?o=new QH(f.a):o=new sue,r=iO(Ge(at(t,P_t))),g=iO(Ge(at(t,R_t))),s=l(at(t,B_t),107),QDn(t,o,r,g,s),n.Vg()},I(Kc,"RandomLayoutProvider",1108),D(240,1,{240:1},Oae),h.Fb=function(t){return eu(this.a,l(t,240).a)&&eu(this.b,l(t,240).b)&&eu(this.c,l(t,240).c)},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.a,this.b,this.c]))},h.Ib=function(){return"("+this.a+To+this.b+To+this.c+")"},I(Kc,"Triple",240);var K_t;D(562,1,{}),h.Lf=function(){return new lt(this.f.i,this.f.j)},h.of=function(t){return Mot(t,(bi(),eh))?at(this.f,W_t):at(this.f,t)},h.Mf=function(){return new lt(this.f.g,this.f.f)},h.Nf=function(){return this.g},h.pf=function(t){return P1(this.f,t)},h.Of=function(t){Vu(this.f,t.a),Gu(this.f,t.b)},h.Pf=function(t){Rw(this.f,t.a),Fw(this.f,t.b)},h.Qf=function(t){this.g=t},h.g=0;var W_t;I(kL,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),D(563,1,{853:1},$z),h.Rf=function(){var t,n;if(!this.b)for(this.b=KH(MH(this.a).i),n=new ar(MH(this.a));n.e!=n.i.gc();)t=l(dr(n),135),wt(this.b,new use(t));return this.b},h.b=null,I(kL,"ElkGraphAdapters/ElkEdgeAdapter",563),D(289,562,{},sw),h.Sf=function(){return kgt(this)},h.a=null,I(kL,"ElkGraphAdapters/ElkGraphAdapter",289),D(640,562,{187:1},use),I(kL,"ElkGraphAdapters/ElkLabelAdapter",640),D(639,562,{695:1},mae),h.Rf=function(){return R7n(this)},h.Vf=function(){var t;return t=l(at(this.f,(bi(),rC)),140),!t&&(t=new a_),t},h.Xf=function(){return j7n(this)},h.Zf=function(t){var n;n=new Pae(t),Vi(this.f,(bi(),rC),n)},h.$f=function(t){Vi(this.f,(bi(),B2),new U4e(t))},h.Tf=function(){return this.d},h.Uf=function(){var t,n;if(!this.a)for(this.a=new mt,n=new lr(fr(dP(l(this.f,27)).a.Kc(),new j));Rr(n);)t=l(yr(n),74),wt(this.a,new $z(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=new mt,n=new lr(fr(fp(l(this.f,27)).a.Kc(),new j));Rr(n);)t=l(yr(n),74),wt(this.c,new $z(t));return this.c},h.Yf=function(){return PH(l(this.f,27)).i!=0||Ft(Pt(l(this.f,27).of((bi(),tF))))},h._f=function(){mwn(this,(dw(),K_t))},h.a=null,h.b=null,h.c=null,h.d=null,h.e=null,I(kL,"ElkGraphAdapters/ElkNodeAdapter",639),D(1284,562,{852:1},fQe),h.Rf=function(){return K7n(this)},h.Uf=function(){var t,n;if(!this.a)for(this.a=rg(l(this.f,123).hh().i),n=new ar(l(this.f,123).hh());n.e!=n.i.gc();)t=l(dr(n),74),wt(this.a,new $z(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=rg(l(this.f,123).ih().i),n=new ar(l(this.f,123).ih());n.e!=n.i.gc();)t=l(dr(n),74),wt(this.c,new $z(t));return this.c},h.ag=function(){return l(l(this.f,123).of((bi(),o7)),64)},h.bg=function(){var t,n,r,s,o,f,g,w;for(s=M1(l(this.f,123)),r=new ar(l(this.f,123).ih());r.e!=r.i.gc();)for(t=l(dr(r),74),w=new ar((!t.c&&(t.c=new An(Sr,t,5,8)),t.c));w.e!=w.i.gc();){if(g=l(dr(w),84),Iy(vc(g),s))return!0;if(vc(g)==s&&Ft(Pt(at(t,(bi(),Kge)))))return!0}for(n=new ar(l(this.f,123).hh());n.e!=n.i.gc();)for(t=l(dr(n),74),f=new ar((!t.b&&(t.b=new An(Sr,t,4,7)),t.b));f.e!=f.i.gc();)if(o=l(dr(f),84),Iy(vc(o),s))return!0;return!1},h.a=null,h.b=null,h.c=null,I(kL,"ElkGraphAdapters/ElkPortAdapter",1284),D(1285,1,ii,tre),h.Ne=function(t,n){return C_n(l(t,123),l(n,123))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(kL,"ElkGraphAdapters/PortComparator",1285);var sm=Ts(gf,"EObject"),uC=Ts(S6,O4t),qh=Ts(S6,N4t),pF=Ts(S6,P4t),bF=Ts(S6,"ElkShape"),Sr=Ts(S6,B4t),js=Ts(S6,ESe),cs=Ts(S6,F4t),mF=Ts(gf,R4t),jM=Ts(gf,"EFactory"),Y_t,upe=Ts(gf,j4t),c1=Ts(gf,"EPackage"),La,X_t,Q_t,MPe,kY,J_t,DPe,IPe,OPe,Ag,Z_t,eAt,nc=Ts(S6,CSe),Li=Ts(S6,SSe),$l=Ts(S6,_Se);D(93,1,$4t),h.th=function(){return this.uh(),null},h.uh=function(){return null},h.vh=function(){return this.uh(),!1},h.wh=function(){return!1},h.xh=function(t){Bi(this,t)},I(jx,"BasicNotifierImpl",93),D(99,93,U4t),h.Yh=function(){return ch(this)},h.yh=function(t,n){return t},h.zh=function(){throw ue(new Qr)},h.Ah=function(t){var n;return n=jo(l(Mn(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},h.Bh=function(t,n){throw ue(new Qr)},h.Ch=function(t,n,r){return Nh(this,t,n,r)},h.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},h.Eh=function(){return sle(this)},h.Fh=function(){throw ue(new Qr)},h.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(y_(),t=r6e(Sd(this.Dh())),t==null?mpe:new IO(this,t))),n},h.Hh=function(t,n){return t},h.Ih=function(t){var n;return n=t.pk(),n?t.Lj():vs(this.Dh(),t)},h.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},h.Kh=function(){return this.zh()?this.zh().Nk():null},h.Lh=function(t,n,r){return lV(this,t,n,r)},h.Mh=function(t){return rT(this,t)},h.Nh=function(t,n){return Uoe(this,t,n)},h.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},h.Ph=function(){throw ue(new Qr)},h.Qh=function(){return rV(this)},h.Rh=function(t,n,r,s){return vx(this,t,n,s)},h.Sh=function(t,n,r){var s;return s=l(Mn(this.Dh(),n),69),s.wk().zk(this,this.hi(),n-this.ji(),t,r)},h.Th=function(t,n,r,s){return jH(this,t,n,s)},h.Uh=function(t,n,r){var s;return s=l(Mn(this.Dh(),n),69),s.wk().Ak(this,this.hi(),n-this.ji(),t,r)},h.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},h.Wh=function(t){return bue(this,t)},h.Xh=function(t){return Uot(this,t)},h.Zh=function(t){return fwt(this,t)},h.$h=function(){throw ue(new Qr)},h._h=function(){return this.zh()?this.zh().Pk():null},h.ai=function(){return rV(this)},h.bi=function(t,n){ele(this,t,n)},h.ci=function(t){this.$h().Sk(t)},h.di=function(t){this.$h().Vk(t)},h.ei=function(t){this.$h().Uk(t)},h.fi=function(t,n){var r,s,o,f;return f=this.Jh(),f&&t&&(n=ko(f.El(),this,n),f.Il(this)),s=this.Ph(),s&&(wle(this,this.Ph(),this.Fh()).Bb&Lo?(o=s.Qh(),o&&(t?!f&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},h.gi=function(t){var n,r,s,o,f,g,w,T;if(r=this.Dh(),f=vs(r,t),n=this.ji(),f>=n)return l(t,69).wk().Dk(this,this.hi(),f-n);if(f<=-1)if(g=b6((kl(),no),r,t),g){if(Ro(),l(g,69).xk()||(g=ix(ac(no,g))),o=(s=this.Ih(g),l(s>=0?this.Lh(s,!0,!0):Xw(this,g,!0),160)),T=g.Ik(),T>1||T==-1)return l(l(o,220).Sl(t,!1),79)}else throw ue(new Wn(qb+t.xe()+e0e));else if(t.Jk())return s=this.Ih(t),l(s>=0?this.Lh(s,!1,!0):Xw(this,t,!1),79);return w=new cnt(this,t),w},h.hi=function(){return c7e(this)},h.ii=function(){return(wb(),Un).S},h.ji=function(){return wr(this.ii())},h.ki=function(t){Que(this,t)},h.Ib=function(){return d0(this)},I(Vn,"BasicEObjectImpl",99);var tAt;D(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),h.li=function(t){var n;return n=o7e(this),n[t]},h.mi=function(t,n){var r;r=o7e(this),Ss(r,t,n)},h.ni=function(t){var n;n=o7e(this),Ss(n,t,null)},h.th=function(){return l(Gn(this,4),129)},h.uh=function(){throw ue(new Qr)},h.vh=function(){return(this.Db&4)!=0},h.zh=function(){throw ue(new Qr)},h.oi=function(t){bx(this,2,t)},h.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},h.Dh=function(){return il(this)},h.Fh=function(){return this.Db>>16},h.Gh=function(){var t,n;return y_(),n=r6e(Sd((t=l(Gn(this,16),29),t||this.ii()))),n==null?mpe:new IO(this,n)},h.wh=function(){return(this.Db&1)==0},h.Jh=function(){return l(Gn(this,128),2034)},h.Kh=function(){return l(Gn(this,16),29)},h.Oh=function(){return(this.Db&32)!=0},h.Ph=function(){return l(Gn(this,2),54)},h.Vh=function(){return(this.Db&64)!=0},h.$h=function(){throw ue(new Qr)},h._h=function(){return l(Gn(this,64),288)},h.ci=function(t){bx(this,16,t)},h.di=function(t){bx(this,128,t)},h.ei=function(t){bx(this,64,t)},h.hi=function(){return Ku(this)},h.Db=0,I(Vn,"MinimalEObjectImpl",119),D(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.oi=function(t){this.Cb=t},h.Ph=function(){return this.Cb},I(Vn,"MinimalEObjectImpl/Container",120),D(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return Txe(this,t,n,r)},h.Uh=function(t,n,r){return f9e(this,t,n,r)},h.Wh=function(t){return m6e(this,t)},h.bi=function(t,n){c8e(this,t,n)},h.ii=function(){return au(),eAt},h.ki=function(t){Q7e(this,t)},h.nf=function(){return qdt(this)},h.gh=function(){return!this.o&&(this.o=new yl((au(),Ag),R2,this,0)),this.o},h.of=function(t){return at(this,t)},h.pf=function(t){return P1(this,t)},h.qf=function(t,n){return Vi(this,t,n)},I(dv,"EMapPropertyHolderImpl",2083),D(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},LS),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return lV(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return bue(this,t)},h.bi=function(t,n){switch(t){case 0:yU(this,ze(Ge(n)));return;case 1:wU(this,ze(Ge(n)));return}ele(this,t,n)},h.ii=function(){return au(),X_t},h.ki=function(t){switch(t){case 0:yU(this,0);return;case 1:wU(this,0);return}Que(this,t)},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new Af(d0(this)),t.a+=" (x: ",L5(t,this.a),t.a+=", y: ",L5(t,this.b),t.a+=")",t.a)},h.a=0,h.b=0,I(dv,"ElkBendPointImpl",572),D(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return D8e(this,t,n,r)},h.Sh=function(t,n,r){return Uue(this,t,n,r)},h.Uh=function(t,n,r){return _ce(this,t,n,r)},h.Wh=function(t){return V7e(this,t)},h.bi=function(t,n){qxe(this,t,n)},h.ii=function(){return au(),J_t},h.ki=function(t){k8e(this,t)},h.jh=function(){return this.k},h.kh=function(){return MH(this)},h.Ib=function(){return Zce(this)},h.k=null,I(dv,"ElkGraphElementImpl",739),D(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return j8e(this,t,n,r)},h.Wh=function(t){return V8e(this,t)},h.bi=function(t,n){Hxe(this,t,n)},h.ii=function(){return au(),Z_t},h.ki=function(t){J8e(this,t)},h.lh=function(){return this.f},h.mh=function(){return this.g},h.nh=function(){return this.i},h.oh=function(){return this.j},h.ph=function(t,n){j5(this,t,n)},h.qh=function(t,n){Xh(this,t,n)},h.rh=function(t){Vu(this,t)},h.sh=function(t){Gu(this,t)},h.Ib=function(){return Yue(this)},h.f=0,h.g=0,h.i=0,h.j=0,I(dv,"ElkShapeImpl",740),D(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return bxe(this,t,n,r)},h.Sh=function(t,n,r){return Bxe(this,t,n,r)},h.Uh=function(t,n,r){return Fxe(this,t,n,r)},h.Wh=function(t){return o8e(this,t)},h.bi=function(t,n){X9e(this,t,n)},h.ii=function(){return au(),Q_t},h.ki=function(t){hxe(this,t)},h.hh=function(){return!this.d&&(this.d=new An(js,this,8,5)),this.d},h.ih=function(){return!this.e&&(this.e=new An(js,this,7,4)),this.e},I(dv,"ElkConnectableShapeImpl",741),D(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},II),h.Ah=function(t){return Ixe(this,t)},h.Lh=function(t,n,r){switch(t){case 3:return nN(this);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b;case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),this.c;case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),this.a;case 7:return Hn(),!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return Hn(),!!HA(this);case 9:return Hn(),!!Yw(this);case 10:return Hn(),!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return D8e(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?Ixe(this,r):this.Cb.Th(this,-1-s,null,r))),d4e(this,l(t,27),r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),Fu(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),Fu(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),Fu(this.a,t,r)}return Uue(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 3:return d4e(this,null,r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),ko(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),ko(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),ko(this.a,t,r)}return _ce(this,t,n,r)},h.Wh=function(t){switch(t){case 3:return!!nN(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return HA(this);case 9:return Yw(this);case 10:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return V7e(this,t)},h.bi=function(t,n){switch(t){case 3:PV(this,l(n,27));return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b),!this.b&&(this.b=new An(Sr,this,4,7)),Ls(this.b,l(n,16));return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c),!this.c&&(this.c=new An(Sr,this,5,8)),Ls(this.c,l(n,16));return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a),!this.a&&(this.a=new nt(cs,this,6,6)),Ls(this.a,l(n,16));return}qxe(this,t,n)},h.ii=function(){return au(),MPe},h.ki=function(t){switch(t){case 3:PV(this,null);return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b);return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c);return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a);return}k8e(this,t)},h.Ib=function(){return Mvt(this)},I(dv,"ElkEdgeImpl",326),D(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},sk),h.Ah=function(t){return Axe(this,t)},h.Lh=function(t,n,r){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Qs(qh,this,5)),this.a;case 6:return $ot(this);case 7:return n?xue(this):this.i;case 8:return n?yue(this):this.f;case 9:return!this.g&&(this.g=new An(cs,this,9,10)),this.g;case 10:return!this.e&&(this.e=new An(cs,this,10,9)),this.e;case 11:return this.d}return Txe(this,t,n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Axe(this,r):this.Cb.Th(this,-1-o,null,r))),f4e(this,l(t,74),r);case 9:return!this.g&&(this.g=new An(cs,this,9,10)),Fu(this.g,t,r);case 10:return!this.e&&(this.e=new An(cs,this,10,9)),Fu(this.e,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(au(),kY)),n),69),f.wk().zk(this,Ku(this),n-wr((au(),kY)),t,r)},h.Uh=function(t,n,r){switch(n){case 5:return!this.a&&(this.a=new Qs(qh,this,5)),ko(this.a,t,r);case 6:return f4e(this,null,r);case 9:return!this.g&&(this.g=new An(cs,this,9,10)),ko(this.g,t,r);case 10:return!this.e&&(this.e=new An(cs,this,10,9)),ko(this.e,t,r)}return f9e(this,t,n,r)},h.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!$ot(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return m6e(this,t)},h.bi=function(t,n){switch(t){case 1:uT(this,ze(Ge(n)));return;case 2:hT(this,ze(Ge(n)));return;case 3:cT(this,ze(Ge(n)));return;case 4:lT(this,ze(Ge(n)));return;case 5:!this.a&&(this.a=new Qs(qh,this,5)),$r(this.a),!this.a&&(this.a=new Qs(qh,this,5)),Ls(this.a,l(n,16));return;case 6:Lbt(this,l(n,74));return;case 7:_U(this,l(n,84));return;case 8:SU(this,l(n,84));return;case 9:!this.g&&(this.g=new An(cs,this,9,10)),$r(this.g),!this.g&&(this.g=new An(cs,this,9,10)),Ls(this.g,l(n,16));return;case 10:!this.e&&(this.e=new An(cs,this,10,9)),$r(this.e),!this.e&&(this.e=new An(cs,this,10,9)),Ls(this.e,l(n,16));return;case 11:O7e(this,Zr(n));return}c8e(this,t,n)},h.ii=function(){return au(),kY},h.ki=function(t){switch(t){case 1:uT(this,0);return;case 2:hT(this,0);return;case 3:cT(this,0);return;case 4:lT(this,0);return;case 5:!this.a&&(this.a=new Qs(qh,this,5)),$r(this.a);return;case 6:Lbt(this,null);return;case 7:_U(this,null);return;case 8:SU(this,null);return;case 9:!this.g&&(this.g=new An(cs,this,9,10)),$r(this.g);return;case 10:!this.e&&(this.e=new An(cs,this,10,9)),$r(this.e);return;case 11:O7e(this,null);return}Q7e(this,t)},h.Ib=function(){return H2t(this)},h.b=0,h.c=0,h.d=null,h.j=0,h.k=0,I(dv,"ElkEdgeSectionImpl",452),D(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Lh=function(t,n,r){var s;return t==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab):rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r)):(o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().zk(this,Ku(this),n-wr(this.ii()),t,r))},h.Uh=function(t,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r)):(o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r))},h.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.Zh=function(t){return oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.di=function(t){bx(this,128,t)},h.ii=function(){return En(),wAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){this.Bb|=1},h.qi=function(t){return XA(this,t)},h.Bb=0,I(Vn,"EModelElementImpl",158),D(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},wz),h.ri=function(t,n){return swt(this,t,n)},h.si=function(t){var n,r,s,o,f;if(this.a!=Ah(t)||t.Bb&256)throw ue(new Wn(n0e+t.zb+c3));for(s=pc(t);fu(s.a).i!=0;){if(r=l(CP(s,0,(n=l(Oe(fu(s.a),0),89),f=n.c,De(f,90)?l(f,29):(En(),Kf))),29),Ww(r))return o=Ah(r).wi().si(r),l(o,54).ci(t),o;s=pc(r)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new kst(t):new t5e(t)},h.ti=function(t,n){return e3(this,t,n)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.a}return rf(this,t-wr((En(),um)),Mn((s=l(Gn(this,16),29),s||um),t),n,r)},h.Sh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 1:return this.a&&(r=l(this.a,54).Th(this,4,c1,r)),x8e(this,l(t,241),r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),um)),n),69),o.wk().zk(this,Ku(this),n-wr((En(),um)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 1:return x8e(this,null,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),um)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),um)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return tf(this,t-wr((En(),um)),Mn((n=l(Gn(this,16),29),n||um),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Spt(this,l(n,241));return}cf(this,t-wr((En(),um)),Mn((r=l(Gn(this,16),29),r||um),t),n)},h.ii=function(){return En(),um},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Spt(this,null);return}of(this,t-wr((En(),um)),Mn((n=l(Gn(this,16),29),n||um),t))};var $M,NPe,nAt;I(Vn,"EFactoryImpl",720),D(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},ak),h.ri=function(t,n){switch(t.hk()){case 12:return l(n,149).Pg();case 13:return Tc(n);default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f,g,w,T;switch(t.G==-1&&(t.G=(n=Ah(t),n?x2(n.vi(),t):-1)),t.G){case 4:return f=new ok,f;case 6:return g=new o_,g;case 7:return w=new r3e,w;case 8:return s=new II,s;case 9:return r=new LS,r;case 10:return o=new sk,o;case 11:return T=new L$,T;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw ue(new Wn(kE+t.xe()+c3))}},I(dv,"ElkGraphFactoryImpl",1037),D(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Gh=function(){var t,n;return n=(t=l(Gn(this,16),29),r6e(Sd(t||this.ii()))),n==null?(y_(),y_(),mpe):new Vrt(this,n)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.xe()}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),yAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.xe=function(){return this.zb},h.ui=function(t){Bu(this,t)},h.Ib=function(){return SA(this)},h.zb=null,I(Vn,"ENamedElementImpl",448),D(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},vot),h.Ah=function(t){return Fgt(this,t)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new ky(this,u1,this)),this.rb;case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?l(this.Cb,241):null:Kot(this)}return rf(this,t-wr((En(),q2)),Mn((s=l(Gn(this,16),29),s||q2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 4:return this.sb&&(r=l(this.sb,54).Th(this,1,jM,r)),E8e(this,l(t,480),r);case 5:return!this.rb&&(this.rb=new ky(this,u1,this)),Fu(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),Fu(this.vb,t,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?Fgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,7,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),q2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),q2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 4:return E8e(this,null,r);case 5:return!this.rb&&(this.rb=new ky(this,u1,this)),ko(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),ko(this.vb,t,r);case 7:return Nh(this,null,7,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),q2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),q2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!Kot(this)}return tf(this,t-wr((En(),q2)),Mn((n=l(Gn(this,16),29),n||q2),t))},h.Zh=function(t){var n;return n=$Cn(this,t),n||oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:OU(this,Zr(n));return;case 3:IU(this,Zr(n));return;case 4:Wue(this,l(n,480));return;case 5:!this.rb&&(this.rb=new ky(this,u1,this)),$r(this.rb),!this.rb&&(this.rb=new ky(this,u1,this)),Ls(this.rb,l(n,16));return;case 6:!this.vb&&(this.vb=new V8(c1,this,6,7)),$r(this.vb),!this.vb&&(this.vb=new V8(c1,this,6,7)),Ls(this.vb,l(n,16));return}cf(this,t-wr((En(),q2)),Mn((r=l(Gn(this,16),29),r||q2),t),n)},h.ei=function(t){var n,r;if(t&&this.rb)for(r=new ar(this.rb);r.e!=r.i.gc();)n=dr(r),De(n,364)&&(l(n,364).w=null);bx(this,64,t)},h.ii=function(){return En(),q2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:OU(this,null);return;case 3:IU(this,null);return;case 4:Wue(this,null);return;case 5:!this.rb&&(this.rb=new ky(this,u1,this)),$r(this.rb);return;case 6:!this.vb&&(this.vb=new V8(c1,this,6,7)),$r(this.vb);return}of(this,t-wr((En(),q2)),Mn((n=l(Gn(this,16),29),n||q2),t))},h.pi=function(){Nue(this)},h.vi=function(){return!this.rb&&(this.rb=new ky(this,u1,this)),this.rb},h.wi=function(){return this.sb},h.xi=function(){return this.ub},h.yi=function(){return this.xb},h.zi=function(){return this.yb},h.Ai=function(t){this.ub=t},h.Ib=function(){var t;return this.Db&64?SA(this):(t=new Af(SA(this)),t.a+=" (nsURI: ",Jo(t,this.yb),t.a+=", nsPrefix: ",Jo(t,this.xb),t.a+=")",t.a)},h.xb=null,h.yb=null,I(Vn,"EPackageImpl",184),D(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},J2t),h.q=!1,h.r=!1;var rAt=!1;I(dv,"ElkGraphPackageImpl",569),D(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},ok),h.Ah=function(t){return Lxe(this,t)},h.Lh=function(t,n,r){switch(t){case 7:return Wot(this);case 8:return this.a}return j8e(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?Lxe(this,r):this.Cb.Th(this,-1-s,null,r))),b5e(this,l(t,167),r)}return Uue(this,t,n,r)},h.Uh=function(t,n,r){return n==7?b5e(this,null,r):_ce(this,t,n,r)},h.Wh=function(t){switch(t){case 7:return!!Wot(this);case 8:return!wn("",this.a)}return V8e(this,t)},h.bi=function(t,n){switch(t){case 7:uke(this,l(n,167));return;case 8:A7e(this,Zr(n));return}Hxe(this,t,n)},h.ii=function(){return au(),DPe},h.ki=function(t){switch(t){case 7:uke(this,null);return;case 8:A7e(this,"");return}J8e(this,t)},h.Ib=function(){return $pt(this)},h.a="",I(dv,"ElkLabelImpl",366),D(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},o_),h.Ah=function(t){return Oxe(this,t)},h.Lh=function(t,n,r){switch(t){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),this.c;case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a;case 11:return ds(this);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),this.b;case 13:return Hn(),!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return bxe(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),Fu(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),Fu(this.a,t,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?Oxe(this,r):this.Cb.Th(this,-1-s,null,r))),T4e(this,l(t,27),r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),Fu(this.b,t,r)}return Bxe(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),ko(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),ko(this.a,t,r);case 11:return T4e(this,null,r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),ko(this.b,t,r)}return Fxe(this,t,n,r)},h.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!ds(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return o8e(this,t)},h.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new nt($l,this,9,9)),$r(this.c),!this.c&&(this.c=new nt($l,this,9,9)),Ls(this.c,l(n,16));return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a),!this.a&&(this.a=new nt(Li,this,10,11)),Ls(this.a,l(n,16));return;case 11:BV(this,l(n,27));return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b),!this.b&&(this.b=new nt(js,this,12,3)),Ls(this.b,l(n,16));return}X9e(this,t,n)},h.ii=function(){return au(),IPe},h.ki=function(t){switch(t){case 9:!this.c&&(this.c=new nt($l,this,9,9)),$r(this.c);return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a);return;case 11:BV(this,null);return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b);return}hxe(this,t)},h.Ib=function(){return Cke(this)},I(dv,"ElkNodeImpl",207),D(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},r3e),h.Ah=function(t){return Mxe(this,t)},h.Lh=function(t,n,r){return t==9?M1(this):bxe(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?Mxe(this,r):this.Cb.Th(this,-1-s,null,r))),g4e(this,l(t,27),r)}return Bxe(this,t,n,r)},h.Uh=function(t,n,r){return n==9?g4e(this,null,r):Fxe(this,t,n,r)},h.Wh=function(t){return t==9?!!M1(this):o8e(this,t)},h.bi=function(t,n){switch(t){case 9:ske(this,l(n,27));return}X9e(this,t,n)},h.ii=function(){return au(),OPe},h.ki=function(t){switch(t){case 9:ske(this,null);return}hxe(this,t)},h.Ib=function(){return Amt(this)},I(dv,"ElkPortImpl",193);var iAt=Ts(Eo,"BasicEMap/Entry");D(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},L$),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.Hb=function(){return ww(this)},h.Di=function(t){L7e(this,l(t,149))},h.Lh=function(t,n,r){switch(t){case 0:return this.b;case 1:return this.c}return lV(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return bue(this,t)},h.bi=function(t,n){switch(t){case 0:L7e(this,l(n,149));return;case 1:_7e(this,n);return}ele(this,t,n)},h.ii=function(){return au(),Ag},h.ki=function(t){switch(t){case 0:L7e(this,null);return;case 1:_7e(this,null);return}Que(this,t)},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?ts(t):0),this.a},h.md=function(){return this.c},h.Ci=function(t){this.a=t},h.nd=function(t){var n;return n=this.c,_7e(this,t),n},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new lb,li(li(li(t,this.b?this.b.Pg():cl),Yhe),$_(this.c)),t.a)},h.a=-1,h.c=null;var R2=I(dv,"ElkPropertyToValueMapEntryImpl",1122);D(996,1,{},D$),I(eo,"JsonAdapter",996),D(216,63,gp,dd),I(eo,"JsonImportException",216),D(868,1,{},Rgt),I(eo,"JsonImporter",868),D(903,1,{},Vtt),I(eo,"JsonImporter/lambda$0$Type",903),D(904,1,{},Gtt),I(eo,"JsonImporter/lambda$1$Type",904),D(912,1,{},dQe),I(eo,"JsonImporter/lambda$10$Type",912),D(914,1,{},Ktt),I(eo,"JsonImporter/lambda$11$Type",914),D(915,1,{},Wtt),I(eo,"JsonImporter/lambda$12$Type",915),D(921,1,{},aot),I(eo,"JsonImporter/lambda$13$Type",921),D(920,1,{},oot),I(eo,"JsonImporter/lambda$14$Type",920),D(916,1,{},Ytt),I(eo,"JsonImporter/lambda$15$Type",916),D(917,1,{},Xtt),I(eo,"JsonImporter/lambda$16$Type",917),D(918,1,{},Qtt),I(eo,"JsonImporter/lambda$17$Type",918),D(919,1,{},Jtt),I(eo,"JsonImporter/lambda$18$Type",919),D(924,1,{},gQe),I(eo,"JsonImporter/lambda$19$Type",924),D(905,1,{},pQe),I(eo,"JsonImporter/lambda$2$Type",905),D(922,1,{},bQe),I(eo,"JsonImporter/lambda$20$Type",922),D(923,1,{},mQe),I(eo,"JsonImporter/lambda$21$Type",923),D(927,1,{},vQe),I(eo,"JsonImporter/lambda$22$Type",927),D(925,1,{},wQe),I(eo,"JsonImporter/lambda$23$Type",925),D(926,1,{},yQe),I(eo,"JsonImporter/lambda$24$Type",926),D(929,1,{},xQe),I(eo,"JsonImporter/lambda$25$Type",929),D(928,1,{},kQe),I(eo,"JsonImporter/lambda$26$Type",928),D(930,1,hr,Ztt),h.Cd=function(t){ewn(this.b,this.a,Zr(t))},I(eo,"JsonImporter/lambda$27$Type",930),D(931,1,hr,ent),h.Cd=function(t){twn(this.b,this.a,Zr(t))},I(eo,"JsonImporter/lambda$28$Type",931),D(932,1,{},tnt),I(eo,"JsonImporter/lambda$29$Type",932),D(908,1,{},TQe),I(eo,"JsonImporter/lambda$3$Type",908),D(933,1,{},nnt),I(eo,"JsonImporter/lambda$30$Type",933),D(934,1,{},EQe),I(eo,"JsonImporter/lambda$31$Type",934),D(935,1,{},CQe),I(eo,"JsonImporter/lambda$32$Type",935),D(936,1,{},SQe),I(eo,"JsonImporter/lambda$33$Type",936),D(937,1,{},_Qe),I(eo,"JsonImporter/lambda$34$Type",937),D(870,1,{},AQe),I(eo,"JsonImporter/lambda$35$Type",870),D(941,1,{},Xit),I(eo,"JsonImporter/lambda$36$Type",941),D(938,1,hr,LQe),h.Cd=function(t){avn(this.a,l(t,377))},I(eo,"JsonImporter/lambda$37$Type",938),D(939,1,hr,rnt),h.Cd=function(t){zln(this.a,this.b,l(t,166))},I(eo,"JsonImporter/lambda$38$Type",939),D(940,1,hr,int),h.Cd=function(t){qln(this.a,this.b,l(t,166))},I(eo,"JsonImporter/lambda$39$Type",940),D(906,1,{},MQe),I(eo,"JsonImporter/lambda$4$Type",906),D(942,1,hr,DQe),h.Cd=function(t){ovn(this.a,l(t,8))},I(eo,"JsonImporter/lambda$40$Type",942),D(907,1,{},IQe),I(eo,"JsonImporter/lambda$5$Type",907),D(911,1,{},OQe),I(eo,"JsonImporter/lambda$6$Type",911),D(909,1,{},NQe),I(eo,"JsonImporter/lambda$7$Type",909),D(910,1,{},PQe),I(eo,"JsonImporter/lambda$8$Type",910),D(913,1,{},BQe),I(eo,"JsonImporter/lambda$9$Type",913),D(961,1,hr,FQe),h.Cd=function(t){Z8(this.a,new Ty(Zr(t)))},I(eo,"JsonMetaDataConverter/lambda$0$Type",961),D(962,1,hr,RQe),h.Cd=function(t){Jgn(this.a,l(t,245))},I(eo,"JsonMetaDataConverter/lambda$1$Type",962),D(963,1,hr,jQe),h.Cd=function(t){Q2n(this.a,l(t,143))},I(eo,"JsonMetaDataConverter/lambda$2$Type",963),D(964,1,hr,$Qe),h.Cd=function(t){Zgn(this.a,l(t,170))},I(eo,"JsonMetaDataConverter/lambda$3$Type",964),D(245,22,{3:1,34:1,22:1,245:1},j8);var TY,EY,lpe,CY,SY,_Y,hpe,fpe,AY=Br($P,"GraphFeature",245,Hr,Bwn,Cdn),sAt;D(11,1,{34:1,149:1},Ki,ws,mn,qa),h.Fd=function(t){return Khn(this,l(t,149))},h.Fb=function(t){return Mot(this,t)},h.Sg=function(){return It(this)},h.Pg=function(){return this.b},h.Hb=function(){return g2(this.b)},h.Ib=function(){return this.b},I($P,"Property",11),D(671,1,ii,Wie),h.Ne=function(t,n){return r5n(this,l(t,96),l(n,96))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($P,"PropertyHolderComparator",671),D(709,1,Ia,Rwe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return iwn(this)},h.Qb=function(){BZe()},h.Ob=function(){return!!this.a},I(YG,"ElkGraphUtil/AncestorIterator",709);var PPe=Ts(Eo,"EList");D(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),h.bd=function(t,n){AA(this,t,n)},h.Fc=function(t){return zr(this,t)},h.cd=function(t,n){return J7e(this,t,n)},h.Gc=function(t){return Ls(this,t)},h.Ii=function(){return new U8(this)},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},h.Li=function(){return!0},h.Mi=function(t,n){},h.Ni=function(){},h.Oi=function(t,n){Woe(this,t,n)},h.Pi=function(t,n,r){},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Fb=function(t){return fmt(this,t)},h.Hb=function(){return W7e(this)},h.Si=function(){return!1},h.Kc=function(){return new ar(this)},h.ed=function(){return new H8(this)},h.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw ue(new yy(t,n));return new Zae(this,t)},h.Ui=function(t,n){this.Ti(t,this.dd(n))},h.Mc=function(t){return fU(this,t)},h.Wi=function(t,n){return n},h.hd=function(t,n){return i6(this,t,n)},h.Ib=function(){return q8e(this)},h.Yi=function(){return!0},h.Zi=function(t,n){return CT(this,n)},I(Eo,"AbstractEList",70),D(66,70,Bd,sb,Bw,q7e),h.Ei=function(t,n){return Vue(this,t,n)},h.Fi=function(t){return ugt(this,t)},h.Gi=function(t,n){$N(this,t,n)},h.Hi=function(t){uN(this,t)},h.$i=function(t){return n7e(this,t)},h.$b=function(){lA(this)},h.Hc=function(t){return zT(this,t)},h.Xb=function(t){return Oe(this,t)},h._i=function(t){var n,r,s;++this.j,r=this.g==null?0:this.g.length,t>r&&(s=this.g,n=r+(r/2|0)+4,n=0?(this.gd(n),!0):!1},h.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},h.gc=function(){return this.Ej()},h.Pc=function(){return this.Fj()},h.Qc=function(t){return this.Gj(t)},h.Ib=function(){return this.Hj()},I(Eo,"DelegatingEList",2093),D(2094,2093,A5t),h.Ei=function(t,n){return Fke(this,t,n)},h.Fi=function(t){return this.Ei(this.Ej(),t)},h.Gi=function(t,n){Z2t(this,t,n)},h.Hi=function(t){z2t(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){nL(this)},h.Ij=function(t,n,r,s,o){return new Lot(this,t,n,r,s,o)},h.Jj=function(t){Bi(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return!this.Aj()},h.Ti=function(t,n){var r,s;return this.Pj()?(s=this.Qj(),r=u9e(this,t,n),this.Jj(this.Ij(7,bt(n),r,t,s)),r):u9e(this,t,n)},h.gd=function(t){var n,r,s,o;return this.Pj()?(r=null,s=this.Qj(),n=this.Ij(4,o=lH(this,t),null,t,s),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=lH(this,t),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},h.Xi=function(t,n){return avt(this,t,n)},I(jx,"DelegatingNotifyingListImpl",2094),D(152,1,rB),h.nj=function(t){return Wxe(this,t)},h.oj=function(){nce(this)},h.gj=function(){return this.d},h.Kj=function(){return null},h.Rj=function(){return null},h.hj=function(t){return-1},h.ij=function(){return Kbt(this)},h.jj=function(){return null},h.kj=function(){return gke(this)},h.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},h.Sj=function(){return!1},h.mj=function(t){var n,r,s,o,f,g,w,T,C,L,F;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return C=eTe(this),T=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,g=t.lj(),this.d=6,F=new Bw(2),T<=g?(zr(F,this.n),zr(F,t.kj()),this.g=he(le(Ur,1),fi,28,15,[this.o=T,g+1])):(zr(F,t.kj()),zr(F,this.n),this.g=he(le(Ur,1),fi,28,15,[this.o=g,T])),this.n=F,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null)){for(C=eTe(this),g=t.lj(),L=l(this.g,53),s=We(Ur,fi,28,L.length+1,15,1),n=0;n>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{vse(s,this.d);break}}if(Nmt(this)&&(s.a+=", touch: true"),s.a+=", position: ",vse(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",N_(s,this.jj()),s.a+=", feature: ",N_(s,this.Kj()),s.a+=", oldValue: ",N_(s,gke(this)),s.a+=", newValue: ",this.d==6&&De(this.g,53)){for(r=l(this.g,53),s.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new G_(this),this.a=this.j),K0(this.b,t)):zT(this,t)},h.Yi=function(){return!0},h.a=0,I(Eo,"AbstractEList/1",966),D(302,77,whe,yy),I(Eo,"AbstractEList/BasicIndexOutOfBoundsException",302),D(37,1,Ia,ar),h.Nb=function(t){Qa(this,t)},h.Xj=function(){if(this.i.j!=this.f)throw ue(new Yh)},h.Yj=function(){return dr(this)},h.Ob=function(){return this.e!=this.i.gc()},h.Pb=function(){return this.Yj()},h.Qb=function(){$A(this)},h.e=0,h.f=0,h.g=-1,I(Eo,"AbstractEList/EIterator",37),D(286,37,dg,H8,Zae),h.Qb=function(){$A(this)},h.Rb=function(t){odt(this,t)},h.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.$j=function(t){fgt(this,t)},h.Sb=function(){return this.e!=0},h.Tb=function(){return this.e},h.Ub=function(){return this.Zj()},h.Vb=function(){return this.e-1},h.Wb=function(t){this.$j(t)},I(Eo,"AbstractEList/EListIterator",286),D(355,37,Ia,U8),h.Yj=function(){return mue(this)},h.Qb=function(){throw ue(new Qr)},I(Eo,"AbstractEList/NonResolvingEIterator",355),D(398,286,dg,OO,M4e),h.Rb=function(t){throw ue(new Qr)},h.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(Eo,"AbstractEList/NonResolvingEListIterator",398),D(2080,70,L5t),h.Ei=function(t,n){var r,s,o,f,g,w,T,C,L,F,z;if(o=n.gc(),o!=0){for(C=l(Gn(this.a,4),129),L=C==null?0:C.length,z=L+o,s=$ce(this,z),F=L-t,F>0&&gu(C,t,s,t+o,F),T=n.Kc(),g=0;gr)throw ue(new yy(t,r));return new Qat(this,t)},h.$b=function(){var t,n;++this.j,t=l(Gn(this.a,4),129),n=t==null?0:t.length,FT(this,null),Woe(this,n,t)},h.Hc=function(t){var n,r,s,o,f;if(n=l(Gn(this.a,4),129),n!=null){if(t!=null){for(s=n,o=0,f=s.length;o=r)throw ue(new yy(t,r));return n[t]},h.dd=function(t){var n,r,s;if(n=l(Gn(this.a,4),129),n!=null){if(t!=null){for(r=0,s=n.length;rr)throw ue(new yy(t,r));return new Xat(this,t)},h.Ti=function(t,n){var r,s,o;if(r=mdt(this),o=r==null?0:r.length,t>=o)throw ue(new rc(h0e+t+gv+o));if(n>=o)throw ue(new rc(f0e+n+gv+o));return s=r[n],t!=n&&(t0&&gu(t,0,n,0,r),n},h.Qc=function(t){var n,r,s;return n=l(Gn(this.a,4),129),s=n==null?0:n.length,s>0&&(t.lengths&&Ss(t,s,null),t};var aAt;I(Eo,"ArrayDelegatingEList",2080),D(1051,37,Ia,Jut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.Qb=function(){$A(this),this.a=l(Gn(this.b.a,4),129)},I(Eo,"ArrayDelegatingEList/EIterator",1051),D(722,286,dg,lat,Xat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.$j=function(t){fgt(this,t),this.a=l(Gn(this.b.a,4),129)},h.Qb=function(){$A(this),this.a=l(Gn(this.b.a,4),129)},I(Eo,"ArrayDelegatingEList/EListIterator",722),D(1052,355,Ia,Zut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(Eo,"ArrayDelegatingEList/NonResolvingEIterator",1052),D(723,398,dg,hat,Qat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(Eo,"ArrayDelegatingEList/NonResolvingEListIterator",723),D(615,302,whe,iae),I(Eo,"BasicEList/BasicIndexOutOfBoundsException",615),D(710,66,Bd,vye),h.bd=function(t,n){throw ue(new Qr)},h.Fc=function(t){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h._i=function(t){throw ue(new Qr)},h.Kc=function(){return this.Ii()},h.ed=function(){return this.Ji()},h.fd=function(t){return this.Ki(t)},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.gd=function(t){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},I(Eo,"BasicEList/UnmodifiableEList",710),D(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),h.bd=function(t,n){Phn(this,t,l(n,44))},h.Fc=function(t){return Afn(this,l(t,44))},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return l(Oe(this.c,t),136)},h.Ti=function(t,n){return l(this.c.Ti(t,n),44)},h.Ui=function(t,n){Bhn(this,t,l(n,44))},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return l(this.c.gd(t),44)},h.hd=function(t,n){return Qgn(this,t,l(n,44))},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.cd=function(t,n){return this.c.cd(t,n)},h.Gc=function(t){return this.c.Gc(t)},h.$b=function(){this.c.$b()},h.Hc=function(t){return this.c.Hc(t)},h.Ic=function(t){return DN(this.c,t)},h._j=function(){var t,n,r;if(this.d==null){for(this.d=We(BPe,VSe,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),136),gV(this,t);this.e=r}},h.Fb=function(t){return Rit(this,t)},h.Hb=function(){return W7e(this.c)},h.dd=function(t){return this.c.dd(t)},h.ak=function(){this.c=new zQe(this)},h.dc=function(){return this.f==0},h.Kc=function(){return this.c.Kc()},h.ed=function(){return this.c.ed()},h.fd=function(t){return this.c.fd(t)},h.bk=function(){return fN(this)},h.ck=function(t,n,r){return new Qit(t,n,r)},h.dk=function(){return new O$},h.Mc=function(t){return Eft(this,t)},h.gc=function(){return this.f},h.kd=function(t,n){return new c2(this.c,t,n)},h.Pc=function(){return this.c.Pc()},h.Qc=function(t){return this.c.Qc(t)},h.Ib=function(){return q8e(this.c)},h.e=0,h.f=0,I(Eo,"BasicEMap",721),D(1046,66,Bd,zQe),h.Mi=function(t,n){dun(this,l(n,136))},h.Pi=function(t,n,r){var s;++(s=this,l(n,136),s).a.e},h.Qi=function(t,n){gun(this,l(n,136))},h.Ri=function(t,n,r){dfn(this,l(n,136),l(r,136))},h.Oi=function(t,n){m0t(this.a)},I(Eo,"BasicEMap/1",1046),D(1047,66,Bd,O$),h.aj=function(t){return We(tNn,M5t,621,t,0,1)},I(Eo,"BasicEMap/2",1047),D(1048,q1,Tl,qQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return oue(this.a,t)},h.Kc=function(){return this.a.f==0?(jk(),yF.a):new EZe(this.a)},h.Mc=function(t){var n;return n=this.a.f,nV(this.a,t),this.a.f!=n},h.gc=function(){return this.a.f},I(Eo,"BasicEMap/3",1048),D(1049,31,Qy,HQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return dmt(this.a,t)},h.Kc=function(){return this.a.f==0?(jk(),yF.a):new CZe(this.a)},h.gc=function(){return this.a.f},I(Eo,"BasicEMap/4",1049),D(1050,q1,Tl,UQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){var n,r,s,o,f,g,w,T,C;if(this.a.f>0&&De(t,44)&&(this.a._j(),T=l(t,44),w=T.ld(),o=w==null?0:ts(w),f=p4e(this.a,o),n=this.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g"+this.c},h.a=0;var tNn=I(Eo,"BasicEMap/EntryImpl",621);D(546,1,{},DS),I(Eo,"BasicEMap/View",546);var yF;D(783,1,{}),h.Fb=function(t){return Q9e((Cn(),Co),t)},h.Hb=function(){return a8e((Cn(),Co))},h.Ib=function(){return Ob((Cn(),Co))},I(Eo,"ECollections/BasicEmptyUnmodifiableEList",783),D(1348,1,dg,hre),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new Dc)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new Dc)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(Eo,"ECollections/BasicEmptyUnmodifiableEList/1",1348),D(1346,783,{20:1,16:1,15:1,61:1},NJe),h.bd=function(t,n){YZe()},h.Fc=function(t){return XZe()},h.cd=function(t,n){return QZe()},h.Gc=function(t){return JZe()},h.$b=function(){ZZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return xye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return eet()},h.Ui=function(t,n){tet()},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return net()},h.Mc=function(t){return ret()},h.hd=function(t,n){return iet()},h.gc=function(){return 0},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new c2(Co,t,n)},h.Pc=function(){return v5e((Cn(),Co))},h.Qc=function(t){return Cn(),BA(Co,t)},I(Eo,"ECollections/EmptyUnmodifiableEList",1346),D(1347,783,{20:1,16:1,15:1,61:1,597:1},PJe),h.bd=function(t,n){YZe()},h.Fc=function(t){return XZe()},h.cd=function(t,n){return QZe()},h.Gc=function(t){return JZe()},h.$b=function(){ZZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return xye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return eet()},h.Ui=function(t,n){tet()},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return net()},h.Mc=function(t){return ret()},h.hd=function(t,n){return iet()},h.gc=function(){return 0},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new c2(Co,t,n)},h.Pc=function(){return v5e((Cn(),Co))},h.Qc=function(t){return Cn(),BA(Co,t)},h.bk=function(){return Cn(),Cn(),yg},I(Eo,"ECollections/EmptyUnmodifiableEMap",1347);var RPe=Ts(Eo,"Enumerator"),LY;D(288,1,{288:1},gle),h.Fb=function(t){var n;return this===t?!0:De(t,288)?(n=l(t,288),this.f==n.f&&dgn(this.i,n.i)&&zae(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&zae(this.d,n.d)&&zae(this.g,n.g)&&zae(this.e,n.e)&&F6n(this,n)):!1},h.Hb=function(){return this.f},h.Ib=function(){return Gmt(this)},h.f=0;var oAt=0,cAt=0,uAt=0,lAt=0,jPe=0,$Pe=0,zPe=0,qPe=0,HPe=0,hAt,zM=0,qM=0,fAt=0,dAt=0,MY,UPe;I(Eo,"URI",288),D(1121,45,w6,BJe),h.zc=function(t,n){return l(sc(this,Zr(t),l(n,288)),288)},I(Eo,"URI/URICache",1121),D(506,66,Bd,M$,bH),h.Si=function(){return!0},I(Eo,"UniqueEList",506),D(590,63,gp,uU),I(Eo,"WrappedException",590);var vi=Ts(gf,O5t),O4=Ts(gf,N5t),fl=Ts(gf,P5t),N4=Ts(gf,B5t),u1=Ts(gf,F5t),Uf=Ts(gf,"EClass"),ppe=Ts(gf,"EDataType"),gAt;D(1233,45,w6,FJe),h.xc=function(t){return Da(t)?wu(this,t):dc(zo(this.f,t))},I(gf,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var DY=Ts(gf,"EEnum"),Tp=Ts(gf,R5t),Wo=Ts(gf,j5t),Vf=Ts(gf,$5t),Gf,L3=Ts(gf,z5t),P4=Ts(gf,q5t);D(1042,1,{},ure),h.Ib=function(){return"NIL"},I(gf,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var pAt;D(1041,45,w6,RJe),h.xc=function(t){return Da(t)?wu(this,t):dc(zo(this.f,t))},I(gf,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Zu=Ts(gf,H5t),c9=Ts(gf,"EValidator/PatternMatcher"),VPe,GPe,Un,j2,B4,om,bAt,mAt,vAt,cm,$2,um,M3,td,wAt,yAt,Kf,z2,xAt,q2,F4,u7,Do,kAt,TAt,D3,IY=Ts(us,"FeatureMap/Entry");D(545,1,{76:1},Oq),h.Lk=function(){return this.a},h.md=function(){return this.b},I(Vn,"BasicEObjectImpl/1",545),D(1040,1,v0e,cnt),h.Fk=function(t){return Uoe(this.a,this.b,t)},h.Qj=function(){return Uot(this.a,this.b)},h.Wb=function(t){a6e(this.a,this.b,t)},h.Gk=function(){lpn(this.a,this.b)},I(Vn,"BasicEObjectImpl/4",1040),D(2081,1,{114:1}),h.Mk=function(t){this.e=t==0?EAt:We(ka,jn,1,t,5,1)},h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Nk=function(){return this.c},h.Ok=function(){throw ue(new Qr)},h.Pk=function(){throw ue(new Qr)},h.Qk=function(){return this.d},h.Rk=function(){return this.e!=null},h.Sk=function(t){this.c=t},h.Tk=function(t){throw ue(new Qr)},h.Uk=function(t){throw ue(new Qr)},h.Vk=function(t){this.d=t};var EAt;I(Vn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),D(192,2081,{114:1},Sf),h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},I(Vn,"BasicEObjectImpl/EPropertiesHolderImpl",192),D(516,99,U4t,w5),h.uh=function(){return this.f},h.zh=function(){return this.k},h.Bh=function(t,n){this.g=t,this.i=n},h.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},h.Fh=function(){return this.i},h.wh=function(){return(this.j&1)!=0},h.Ph=function(){return this.g},h.Vh=function(){return(this.j&4)!=0},h.$h=function(){return!this.k&&(this.k=new Sf),this.k},h.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},h.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},h.ii=function(){return(wb(),Un).S},h.i=0,h.j=1,I(Vn,"EObjectImpl",516),D(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},t5e),h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Dh=function(){return this.d},h.Ih=function(t){return vs(this.d,t)},h.Kh=function(){return this.d},h.Oh=function(){return this.e!=null},h.$h=function(){return!this.k&&(this.k=new N$),this.k},h.ci=function(t){this.d=t},h.hi=function(){var t;return this.e==null&&(t=wr(this.d),this.e=t==0?CAt:We(ka,jn,1,t,5,1)),this},h.ji=function(){return 0};var CAt;I(Vn,"DynamicEObjectImpl",798),D(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},kst),h.Fb=function(t){return this===t},h.Hb=function(){return ww(this)},h.ci=function(t){this.d=t,this.b=pP(t,"key"),this.c=pP(t,CL)},h.Bi=function(){var t;return this.a==-1&&(t=rce(this,this.b),this.a=t==null?0:ts(t)),this.a},h.ld=function(){return rce(this,this.b)},h.md=function(){return rce(this,this.c)},h.Ci=function(t){this.a=t},h.Di=function(t){a6e(this,this.b,t)},h.nd=function(t){var n;return n=rce(this,this.c),a6e(this,this.c,t),n},h.a=0,I(Vn,"DynamicEObjectImpl/BasicEMapEntry",1522),D(1523,1,{114:1},N$),h.Mk=function(t){throw ue(new Qr)},h.li=function(t){throw ue(new Qr)},h.mi=function(t,n){throw ue(new Qr)},h.ni=function(t){throw ue(new Qr)},h.Nk=function(){throw ue(new Qr)},h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Qk=function(){return this.c},h.Rk=function(){throw ue(new Qr)},h.Sk=function(t){throw ue(new Qr)},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},h.Vk=function(t){this.c=t},I(Vn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),D(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},OI),h.Ah=function(t){return Dxe(this,t)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new lh((En(),Do),Qc,this)),this.b):(!this.b&&(this.b=new lh((En(),Do),Qc,this)),fN(this.b));case 3:return Yot(this);case 4:return!this.a&&(this.a=new Qs(sm,this,4)),this.a;case 5:return!this.c&&(this.c=new q5(sm,this,5)),this.c}return rf(this,t-wr((En(),j2)),Mn((s=l(Gn(this,16),29),s||j2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?Dxe(this,r):this.Cb.Th(this,-1-o,null,r))),m5e(this,l(t,155),r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),j2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),j2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.b&&(this.b=new lh((En(),Do),Qc,this)),Jq(this.b,t,r);case 3:return m5e(this,null,r);case 4:return!this.a&&(this.a=new Qs(sm,this,4)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),j2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),j2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!Yot(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return tf(this,t-wr((En(),j2)),Mn((n=l(Gn(this,16),29),n||j2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:egn(this,Zr(n));return;case 2:!this.b&&(this.b=new lh((En(),Do),Qc,this)),NU(this.b,n);return;case 3:Nbt(this,l(n,155));return;case 4:!this.a&&(this.a=new Qs(sm,this,4)),$r(this.a),!this.a&&(this.a=new Qs(sm,this,4)),Ls(this.a,l(n,16));return;case 5:!this.c&&(this.c=new q5(sm,this,5)),$r(this.c),!this.c&&(this.c=new q5(sm,this,5)),Ls(this.c,l(n,16));return}cf(this,t-wr((En(),j2)),Mn((r=l(Gn(this,16),29),r||j2),t),n)},h.ii=function(){return En(),j2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:I7e(this,null);return;case 2:!this.b&&(this.b=new lh((En(),Do),Qc,this)),this.b.c.$b();return;case 3:Nbt(this,null);return;case 4:!this.a&&(this.a=new Qs(sm,this,4)),$r(this.a);return;case 5:!this.c&&(this.c=new q5(sm,this,5)),$r(this.c);return}of(this,t-wr((En(),j2)),Mn((n=l(Gn(this,16),29),n||j2),t))},h.Ib=function(){return R1t(this)},h.d=null,I(Vn,"EAnnotationImpl",519),D(141,721,GSe,yl),h.Gi=function(t,n){vhn(this,t,l(n,44))},h.Wk=function(t,n){return y0n(this,l(t,44),n)},h.$i=function(t){return l(l(this.c,71).$i(t),136)},h.Ii=function(){return l(this.c,71).Ii()},h.Ji=function(){return l(this.c,71).Ji()},h.Ki=function(t){return l(this.c,71).Ki(t)},h.Xk=function(t,n){return Jq(this,t,n)},h.Fk=function(t){return l(this.c,79).Fk(t)},h.ak=function(){},h.Qj=function(){return l(this.c,79).Qj()},h.ck=function(t,n,r){var s;return s=l(Ah(this.b).wi().si(this.b),136),s.Ci(t),s.Di(n),s.nd(r),s},h.dk=function(){return new $we(this)},h.Wb=function(t){NU(this,t)},h.Gk=function(){l(this.c,79).Gk()},I(us,"EcoreEMap",141),D(165,141,GSe,lh),h._j=function(){var t,n,r,s,o,f;if(this.d==null){for(f=We(BPe,VSe,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),136),s=n.Bi(),o=(s&Ni)%f.length,t=f[o],!t&&(t=f[o]=new $we(this)),t.Fc(n);this.d=f}},I(Vn,"EAnnotationImpl/1",165),D(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0)}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),TAt},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.Zk(1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){Of(this),this.Bb|=1},h.Hk=function(){return Of(this)},h.Ik=function(){return this.t},h.Jk=function(){var t;return t=this.t,t>1||t==-1},h.Si=function(){return(this.Bb&512)!=0},h.Yk=function(t,n){return C8e(this,t,n)},h.Zk=function(t){Oy(this,t)},h.Ib=function(){return q9e(this)},h.s=0,h.t=1,I(Vn,"ETypedElementImpl",292),D(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),h.Ah=function(t){return _gt(this,t)},h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this)}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?_gt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,17,r)}return f=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),f.wk().zk(this,Ku(this),n-wr(this.ii()),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 17:return Nh(this,null,17,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this)}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),kAt},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.Zk(1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.pk=function(){return this.f},h.ik=function(){return KT(this)},h.qk=function(){return Cy(this)},h.uk=function(){return null},h.$k=function(){return this.k},h.Lj=function(){return this.n},h.vk=function(){return kV(this)},h.wk=function(){var t,n,r,s,o,f,g,w,T;return this.p||(r=Cy(this),(r.i==null&&Sd(r),r.i).length,s=this.uk(),s&&wr(Cy(s)),o=Of(this),g=o.kk(),t=g?g.i&1?g==th?Ps:g==Ur?to:g==j4?LE:g==Oa?ra:g==hm?l3:g==d7?h3:g==_l?$x:BL:g:null,n=KT(this),w=o.ik(),g5n(this),this.Bb&_d&&((f=Rxe((kl(),no),r))&&f!=this||(f=ix(ac(no,this))))?this.p=new lnt(this,f):this.Jk()?this.al()?s?this.Bb&Cl?t?this.bl()?this.p=new zm(47,t,this,s):this.p=new zm(5,t,this,s):this.bl()?this.p=new Gm(46,this,s):this.p=new Gm(4,this,s):t?this.bl()?this.p=new zm(49,t,this,s):this.p=new zm(7,t,this,s):this.bl()?this.p=new Gm(48,this,s):this.p=new Gm(6,this,s):this.Bb&Cl?t?t==mv?this.p=new s2(50,iAt,this):this.bl()?this.p=new s2(43,t,this):this.p=new s2(1,t,this):this.bl()?this.p=new o2(42,this):this.p=new o2(0,this):t?t==mv?this.p=new s2(41,iAt,this):this.bl()?this.p=new s2(45,t,this):this.p=new s2(3,t,this):this.bl()?this.p=new o2(44,this):this.p=new o2(2,this):De(o,156)?t==IY?this.p=new o2(40,this):this.Bb&512?this.Bb&Cl?t?this.p=new s2(9,t,this):this.p=new o2(8,this):t?this.p=new s2(11,t,this):this.p=new o2(10,this):this.Bb&Cl?t?this.p=new s2(13,t,this):this.p=new o2(12,this):t?this.p=new s2(15,t,this):this.p=new o2(14,this):s?(T=s.t,T>1||T==-1?this.bl()?this.Bb&Cl?t?this.p=new zm(25,t,this,s):this.p=new Gm(24,this,s):t?this.p=new zm(27,t,this,s):this.p=new Gm(26,this,s):this.Bb&Cl?t?this.p=new zm(29,t,this,s):this.p=new Gm(28,this,s):t?this.p=new zm(31,t,this,s):this.p=new Gm(30,this,s):this.bl()?this.Bb&Cl?t?this.p=new zm(33,t,this,s):this.p=new Gm(32,this,s):t?this.p=new zm(35,t,this,s):this.p=new Gm(34,this,s):this.Bb&Cl?t?this.p=new zm(37,t,this,s):this.p=new Gm(36,this,s):t?this.p=new zm(39,t,this,s):this.p=new Gm(38,this,s)):this.bl()?this.Bb&Cl?t?this.p=new s2(17,t,this):this.p=new o2(16,this):t?this.p=new s2(19,t,this):this.p=new o2(18,this):this.Bb&Cl?t?this.p=new s2(21,t,this):this.p=new o2(20,this):t?this.p=new s2(23,t,this):this.p=new o2(22,this):this._k()?this.bl()?this.p=new Jit(l(o,29),this,s):this.p=new i6e(l(o,29),this,s):De(o,156)?t==IY?this.p=new o2(40,this):this.Bb&Cl?t?this.p=new Qst(n,w,this,(cue(),g==Ur?ZPe:g==th?WPe:g==hm?eBe:g==j4?JPe:g==Oa?QPe:g==d7?tBe:g==_l?YPe:g==xf?XPe:vpe)):this.p=new lot(l(o,156),n,w,this):t?this.p=new Xst(n,w,this,(cue(),g==Ur?ZPe:g==th?WPe:g==hm?eBe:g==j4?JPe:g==Oa?QPe:g==d7?tBe:g==_l?YPe:g==xf?XPe:vpe)):this.p=new uot(l(o,156),n,w,this):this.al()?s?this.Bb&Cl?this.bl()?this.p=new est(l(o,29),this,s):this.p=new H4e(l(o,29),this,s):this.bl()?this.p=new Zit(l(o,29),this,s):this.p=new Nae(l(o,29),this,s):this.Bb&Cl?this.bl()?this.p=new Xrt(l(o,29),this):this.p=new r4e(l(o,29),this):this.bl()?this.p=new Yrt(l(o,29),this):this.p=new xae(l(o,29),this):this.bl()?s?this.Bb&Cl?this.p=new tst(l(o,29),this,s):this.p=new z4e(l(o,29),this,s):this.Bb&Cl?this.p=new Qrt(l(o,29),this):this.p=new i4e(l(o,29),this):s?this.Bb&Cl?this.p=new nst(l(o,29),this,s):this.p=new q4e(l(o,29),this,s):this.Bb&Cl?this.p=new Jrt(l(o,29),this):this.p=new pH(l(o,29),this)),this.p},h.rk=function(){return(this.Bb&b0)!=0},h._k=function(){return!1},h.al=function(){return!1},h.sk=function(){return(this.Bb&_d)!=0},h.xk=function(){return ice(this)},h.bl=function(){return!1},h.tk=function(){return(this.Bb&Cl)!=0},h.cl=function(t){this.k=t},h.ui=function(t){Loe(this,t)},h.Ib=function(){return HV(this)},h.e=!1,h.n=0,I(Vn,"EStructuralFeatureImpl",462),D(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},tse),h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!B9e(this);case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this);case 18:return Hn(),!!(this.Bb&nu);case 19:return n?Ace(this):dlt(this)}return rf(this,t-wr((En(),B4)),Mn((s=l(Gn(this,16),29),s||B4),t),n,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return B9e(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this);case 18:return(this.Bb&nu)!=0;case 19:return!!dlt(this)}return tf(this,t-wr((En(),B4)),Mn((n=l(Gn(this,16),29),n||B4),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:AZe(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return;case 18:eue(this,Ft(Pt(n)));return}cf(this,t-wr((En(),B4)),Mn((r=l(Gn(this,16),29),r||B4),t),n)},h.ii=function(){return En(),B4},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.b=0,Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return;case 18:eue(this,!1);return}of(this,t-wr((En(),B4)),Mn((n=l(Gn(this,16),29),n||B4),t))},h.pi=function(){Ace(this),Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.Jk=function(){return B9e(this)},h.Yk=function(t,n){return this.b=0,this.a=null,C8e(this,t,n)},h.Zk=function(t){AZe(this,t)},h.Ib=function(){var t;return this.Db&64?HV(this):(t=new Af(HV(this)),t.a+=" (iD: ",t2(t,(this.Bb&nu)!=0),t.a+=")",t.a)},h.b=0,I(Vn,"EAttributeImpl",331),D(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),h.dl=function(t){return t.Dh()==this},h.Ah=function(t){return Oue(this,t)},h.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r)}return f=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),f.wk().zk(this,Ku(this),n-wr(this.ii()),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),bAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.hk=function(){var t;return this.G==-1&&(this.G=(t=Ah(this),t?x2(t.vi(),this):-1)),this.G},h.ik=function(){return null},h.jk=function(){return Ah(this)},h.el=function(){return this.v},h.kk=function(){return Ww(this)},h.lk=function(){return this.D!=null?this.D:this.B},h.mk=function(){return this.F},h.fk=function(t){return Tle(this,t)},h.fl=function(t){this.v=t},h.gl=function(t){Qft(this,t)},h.hl=function(t){this.C=t},h.ui=function(t){UH(this,t)},h.Ib=function(){return JU(this)},h.C=null,h.D=null,h.G=-1,I(Vn,"EClassifierImpl",364),D(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},vz),h.dl=function(t){return r0n(this,t.Dh())},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return null;case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256);case 9:return Hn(),!!(this.Bb&512);case 10:return pc(this);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),this.q;case 12:return p6(this);case 13:return ZA(this);case 14:return ZA(this),this.r;case 15:return p6(this),this.k;case 16:return C9e(this);case 17:return _le(this);case 18:return Sd(this);case 19:return NV(this);case 20:return p6(this),this.o;case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),this.s;case 22:return fu(this);case 23:return dle(this)}return rf(this,t-wr((En(),om)),Mn((s=l(Gn(this,16),29),s||om),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),Fu(this.q,t,r);case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),Fu(this.s,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),om)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),om)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),ko(this.q,t,r);case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),ko(this.s,t,r);case 22:return ko(fu(this),t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),om)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),om)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&fu(this.u.a).i!=0&&!(this.n&&kue(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return p6(this).i!=0;case 13:return ZA(this).i!=0;case 14:return ZA(this),this.r.i!=0;case 15:return p6(this),this.k.i!=0;case 16:return C9e(this).i!=0;case 17:return _le(this).i!=0;case 18:return Sd(this).i!=0;case 19:return NV(this).i!=0;case 20:return p6(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&kue(this.n);case 23:return dle(this).i!=0}return tf(this,t-wr((En(),om)),Mn((n=l(Gn(this,16),29),n||om),t))},h.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:pP(this,t),n||oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return;case 8:S8e(this,Ft(Pt(n)));return;case 9:_8e(this,Ft(Pt(n)));return;case 10:nL(pc(this)),Ls(pc(this),l(n,16));return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q),!this.q&&(this.q=new nt(Vf,this,11,10)),Ls(this.q,l(n,16));return;case 21:!this.s&&(this.s=new nt(fl,this,21,17)),$r(this.s),!this.s&&(this.s=new nt(fl,this,21,17)),Ls(this.s,l(n,16));return;case 22:$r(fu(this)),Ls(fu(this),l(n,16));return}cf(this,t-wr((En(),om)),Mn((r=l(Gn(this,16),29),r||om),t),n)},h.ii=function(){return En(),om},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return;case 8:S8e(this,!1);return;case 9:_8e(this,!1);return;case 10:this.u&&nL(this.u);return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q);return;case 21:!this.s&&(this.s=new nt(fl,this,21,17)),$r(this.s);return;case 22:this.n&&$r(this.n);return}of(this,t-wr((En(),om)),Mn((n=l(Gn(this,16),29),n||om),t))},h.pi=function(){var t,n;if(p6(this),ZA(this),C9e(this),_le(this),Sd(this),NV(this),dle(this),lA(Ldn(Gl(this))),this.s)for(t=0,n=this.s.i;t=0;--n)Oe(this,n);return Q8e(this,t)},h.Gk=function(){$r(this)},h.Zi=function(t,n){return wft(this,t,n)},I(us,"EcoreEList",632),D(505,632,Ec,VO),h.Li=function(){return!1},h.Lj=function(){return this.c},h.Mj=function(){return!1},h.ol=function(){return!0},h.Si=function(){return!0},h.Wi=function(t,n){return n},h.Yi=function(){return!1},h.c=0,I(us,"EObjectEList",505),D(83,505,Ec,Qs),h.Mj=function(){return!0},h.ml=function(){return!1},h.al=function(){return!0},I(us,"EObjectContainmentEList",83),D(555,83,Ec,Hq),h.Ni=function(){this.b=!0},h.Qj=function(){return this.b},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.b,this.b=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.b=!1},h.b=!1,I(us,"EObjectContainmentEList/Unsettable",555),D(1161,555,Ec,Wst),h.Ti=function(t,n){var r,s;return r=l(LA(this,t,n),89),ch(this.e)&&Tk(this,new dN(this.a,7,(En(),mAt),bt(n),(s=r.c,De(s,90)?l(s,29):Kf),t)),r},h.Uj=function(t,n){return X5n(this,l(t,89),n)},h.Vj=function(t,n){return Y5n(this,l(t,89),n)},h.Wj=function(t,n,r){return Z8n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,s,o){switch(t){case 3:return iA(this,t,n,r,s,this.i>1);case 5:return iA(this,t,n,r,s,this.i-l(r,15).gc()>0);default:return new rp(this.e,t,this.c,n,r,s,!0)}},h.Tj=function(){return!0},h.Qj=function(){return kue(this)},h.Gk=function(){$r(this)},I(Vn,"EClassImpl/1",1161),D(1175,1174,USe),h.dj=function(t){var n,r,s,o,f,g,w;if(r=t.gj(),r!=8){if(s=D6n(t),s==0)switch(r){case 1:case 9:{w=t.kj(),w!=null&&(n=Gl(l(w,482)),!n.c&&(n.c=new Zd),fU(n.c,t.jj())),g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29))));break}case 3:{g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29))));break}case 5:{if(g=t.ij(),g!=null)for(f=l(g,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29)));break}case 4:{w=t.kj(),w!=null&&(o=l(w,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),fU(n.c,t.jj())));break}case 6:{if(w=t.kj(),w!=null)for(f=l(w,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),fU(n.c,t.jj()));break}}this.ql(s)}},h.ql=function(t){ymt(this,t)},h.b=63,I(Vn,"ESuperAdapter",1175),D(1176,1175,USe,GQe),h.ql=function(t){Uy(this,t)},I(Vn,"EClassImpl/10",1176),D(1165,710,Ec),h.Ei=function(t,n){return Vue(this,t,n)},h.Fi=function(t){return ugt(this,t)},h.Gi=function(t,n){$N(this,t,n)},h.Hi=function(t){uN(this,t)},h.$i=function(t){return n7e(this,t)},h.Xi=function(t,n){return sce(this,t,n)},h.Wk=function(t,n){throw ue(new Qr)},h.Ii=function(){return new U8(this)},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},h.Xk=function(t,n){throw ue(new Qr)},h.Fk=function(t){return this},h.Qj=function(){return this.i!=0},h.Wb=function(t){throw ue(new Qr)},h.Gk=function(){throw ue(new Qr)},I(us,"EcoreEList/UnmodifiableEList",1165),D(328,1165,Ec,B5),h.Yi=function(){return!1},I(us,"EcoreEList/UnmodifiableEList/FastCompare",328),D(1168,328,Ec,U0t),h.dd=function(t){var n,r,s;if(De(t,179)&&(n=l(t,179),r=n.Lj(),r!=-1)){for(s=this.i;r4)if(this.fk(t)){if(this.al()){if(s=l(t,54),r=s.Eh(),w=r==this.b&&(this.ml()?s.yh(s.Fh(),l(Mn(il(this.b),this.Lj()).Hk(),29).kk())==jo(l(Mn(il(this.b),this.Lj()),19)).n:-1-s.Fh()==this.Lj()),this.nl()&&!w&&!r&&s.Jh()){for(o=0;o1||s==-1)):!1},h.ml=function(){var t,n,r;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=jo(t),!!r):!1},h.nl=function(){var t,n;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&Lo)!=0):!1},h.dd=function(t){var n,r,s,o;if(s=this.zj(t),s>=0)return s;if(this.ol()){for(r=0,o=this.Ej();r=0;--t)CP(this,t,this.xj(t));return this.Fj()},h.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)CP(this,n,this.xj(n));return this.Gj(t)},h.Gk=function(){nL(this)},h.Zi=function(t,n){return Xlt(this,t,n)},I(us,"DelegatingEcoreEList",756),D(1171,756,WSe,lit),h.qj=function(t,n){_fn(this,t,l(n,29))},h.rj=function(t){phn(this,l(t,29))},h.xj=function(t){var n,r;return n=l(Oe(fu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(En(),Kf)},h.Cj=function(t){var n,r;return n=l(Ky(fu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(En(),Kf)},h.Dj=function(t,n){return E7n(this,t,l(n,29))},h.Li=function(){return!1},h.Ij=function(t,n,r,s,o){return null},h.sj=function(){return new YQe(this)},h.tj=function(){$r(fu(this.a))},h.uj=function(t){return $1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!$1t(this,n))return!1;return!0},h.wj=function(t){var n,r,s;if(De(t,15)&&(s=l(t,15),s.gc()==fu(this.a).i)){for(n=s.Kc(),r=new ar(this);n.Ob();)if(qe(n.Pb())!==qe(dr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,s,o;for(r=1,n=new ar(fu(this.a));n.e!=n.i.gc();)t=l(dr(n),89),s=(o=t.c,De(o,90)?l(o,29):(En(),Kf)),r=31*r+(s?ww(s):0);return r},h.zj=function(t){var n,r,s,o;for(s=0,r=new ar(fu(this.a));r.e!=r.i.gc();){if(n=l(dr(r),89),qe(t)===qe((o=n.c,De(o,90)?l(o,29):(En(),Kf))))return s;++s}return-1},h.Aj=function(){return fu(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return fu(this.a).i},h.Fj=function(){var t,n,r,s,o,f;for(f=fu(this.a).i,o=We(ka,jn,1,f,5,1),r=0,n=new ar(fu(this.a));n.e!=n.i.gc();)t=l(dr(n),89),o[r++]=(s=t.c,De(s,90)?l(s,29):(En(),Kf));return o},h.Gj=function(t){var n,r,s,o,f,g,w;for(w=fu(this.a).i,t.lengthw&&Ss(t,w,null),s=0,r=new ar(fu(this.a));r.e!=r.i.gc();)n=l(dr(r),89),f=(g=n.c,De(g,90)?l(g,29):(En(),Kf)),Ss(t,s++,f);return t},h.Hj=function(){var t,n,r,s,o;for(o=new e2,o.a+="[",t=fu(this.a),n=0,s=fu(this.a).i;n>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 9:return!this.a&&(this.a=new nt(Tp,this,9,5)),Fu(this.a,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),cm)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),cm)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r);case 9:return!this.a&&(this.a=new nt(Tp,this,9,5)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),cm)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),cm)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return!!g8e(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),cm)),Mn((n=l(Gn(this,16),29),n||cm),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return;case 8:GU(this,Ft(Pt(n)));return;case 9:!this.a&&(this.a=new nt(Tp,this,9,5)),$r(this.a),!this.a&&(this.a=new nt(Tp,this,9,5)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),cm)),Mn((r=l(Gn(this,16),29),r||cm),t),n)},h.ii=function(){return En(),cm},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return;case 8:GU(this,!0);return;case 9:!this.a&&(this.a=new nt(Tp,this,9,5)),$r(this.a);return}of(this,t-wr((En(),cm)),Mn((n=l(Gn(this,16),29),n||cm),t))},h.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t>16==5?l(this.Cb,685):null}return rf(this,t-wr((En(),$2)),Mn((s=l(Gn(this,16),29),s||$2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?Bgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,5,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),$2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),$2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 5:return Nh(this,null,5,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),$2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),$2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&l(this.Cb,685))}return tf(this,t-wr((En(),$2)),Mn((n=l(Gn(this,16),29),n||$2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:hce(this,l(n,17).a);return;case 3:O2t(this,l(n,2039));return;case 4:dce(this,Zr(n));return}cf(this,t-wr((En(),$2)),Mn((r=l(Gn(this,16),29),r||$2),t),n)},h.ii=function(){return En(),$2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:hce(this,0);return;case 3:O2t(this,null);return;case 4:dce(this,null);return}of(this,t-wr((En(),$2)),Mn((n=l(Gn(this,16),29),n||$2),t))},h.Ib=function(){var t;return t=this.c,t??this.zb},h.b=null,h.c=null,h.d=0,I(Vn,"EEnumLiteralImpl",582);var nNn=Ts(Vn,"EFactoryImpl/InternalEDateTimeFormat");D(499,1,{2114:1},tO),I(Vn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),D(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},iw),h.Ch=function(t,n,r){var s;return r=Nh(this,t,n,r),this.e&&De(t,179)&&(s=OV(this,this.e),s!=this.c&&(r=tE(this,s,r))),r},h.Lh=function(t,n,r){var s;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new Qs(Wo,this,1)),this.d;case 2:return n?GV(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?Cue(this):this.a}return rf(this,t-wr((En(),M3)),Mn((s=l(Gn(this,16),29),s||M3),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return _1t(this,null,r);case 1:return!this.d&&(this.d=new Qs(Wo,this,1)),ko(this.d,t,r);case 3:return A1t(this,null,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),M3)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),M3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return tf(this,t-wr((En(),M3)),Mn((n=l(Gn(this,16),29),n||M3),t))},h.bi=function(t,n){var r;switch(t){case 0:tpt(this,l(n,89));return;case 1:!this.d&&(this.d=new Qs(Wo,this,1)),$r(this.d),!this.d&&(this.d=new Qs(Wo,this,1)),Ls(this.d,l(n,16));return;case 3:Gxe(this,l(n,89));return;case 4:h9e(this,l(n,850));return;case 5:oT(this,l(n,142));return}cf(this,t-wr((En(),M3)),Mn((r=l(Gn(this,16),29),r||M3),t),n)},h.ii=function(){return En(),M3},h.ki=function(t){var n;switch(t){case 0:tpt(this,null);return;case 1:!this.d&&(this.d=new Qs(Wo,this,1)),$r(this.d);return;case 3:Gxe(this,null);return;case 4:h9e(this,null);return;case 5:oT(this,null);return}of(this,t-wr((En(),M3)),Mn((n=l(Gn(this,16),29),n||M3),t))},h.Ib=function(){var t;return t=new Eh(d0(this)),t.a+=" (expression: ",Ole(this,t),t.a+=")",t.a};var KPe;I(Vn,"EGenericTypeImpl",248),D(2067,2062,eK),h.Gi=function(t,n){oit(this,t,n)},h.Wk=function(t,n){return oit(this,this.gc(),t),n},h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.Ji()},h.pj=function(){return new ZQe(this)},h.Ji=function(){return this.Ki(0)},h.Ki=function(t){return this.pj().fd(t)},h.Xk=function(t,n){return Fy(this,t,!0),n},h.Ti=function(t,n){var r,s;return s=Bue(this,n),r=this.fd(t),r.Rb(s),s},h.Ui=function(t,n){var r;Fy(this,n,!0),r=this.fd(t),r.Rb(n)},I(us,"AbstractSequentialInternalEList",2067),D(496,2067,eK,IO),h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.b==null?(r2(),r2(),xF):this.sl()},h.pj=function(){return new Snt(this.a,this.b)},h.Ji=function(){return this.b==null?(r2(),r2(),xF):this.sl()},h.Ki=function(t){var n,r;if(this.b==null){if(t<0||t>1)throw ue(new rc(SL+t+", size=0"));return r2(),r2(),xF}for(r=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=uC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Ro(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(s=l(f,15),this.k=s):(s=l(f,71),this.k=this.j=s),De(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?Ypt(this,this.p):a2t(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},h.Pb=function(){return FU(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw ue(new Dc)},h.Vb=function(){return this.a-1},h.Qb=function(){throw ue(new Qr)},h.ul=function(){return!1},h.Wb=function(t){throw ue(new Qr)},h.vl=function(){return!0},h.a=0,h.d=0,h.f=!1,h.g=0,h.n=0,h.o=0;var xF;I(us,"EContentsEList/FeatureIteratorImpl",287),D(711,287,tK,n4e),h.ul=function(){return!0},I(us,"EContentsEList/ResolvingFeatureIteratorImpl",711),D(1178,711,tK,Grt),h.vl=function(){return!1},I(Vn,"ENamedElementImpl/1/1",1178),D(1179,287,tK,Krt),h.vl=function(){return!1},I(Vn,"ENamedElementImpl/1/2",1179),D(39,152,rB,Ay,Boe,_a,Qoe,rp,l0,p7e,Sct,b7e,_ct,O6e,Act,w7e,Lct,N6e,Mct,m7e,Dct,Q_,dN,moe,v7e,Ict,P6e,Oct),h.Kj=function(){return J6e(this)},h.Rj=function(){var t;return t=J6e(this),t?t.ik():null},h.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},h.jj=function(){return this.c},h.Sj=function(){var t;return t=J6e(this),t?t.tk():!1},h.b=-1,I(Vn,"ENotificationImpl",39),D(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},nse),h.Ah=function(t){return jgt(this,t)},h.Lh=function(t,n,r){var s,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,29):null;case 11:return!this.d&&(this.d=new bl(Zu,this,11)),this.d;case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),this.c;case 13:return!this.a&&(this.a=new FO(this,this)),this.a;case 14:return Kl(this)}return rf(this,t-wr((En(),z2)),Mn((s=l(Gn(this,16),29),s||z2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?jgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r);case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),Fu(this.c,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),z2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),z2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 10:return Nh(this,null,10,r);case 11:return!this.d&&(this.d=new bl(Zu,this,11)),ko(this.d,t,r);case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),ko(this.c,t,r);case 14:return ko(Kl(this),t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),z2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),z2)),t,r)},h.Wh=function(t){var n,r,s;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Kl(this.a.a).i!=0&&!(this.b&&Tue(this.b));case 14:return!!this.b&&Tue(this.b)}return tf(this,t-wr((En(),z2)),Mn((n=l(Gn(this,16),29),n||z2),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:Oy(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 11:!this.d&&(this.d=new bl(Zu,this,11)),$r(this.d),!this.d&&(this.d=new bl(Zu,this,11)),Ls(this.d,l(n,16));return;case 12:!this.c&&(this.c=new nt(L3,this,12,10)),$r(this.c),!this.c&&(this.c=new nt(L3,this,12,10)),Ls(this.c,l(n,16));return;case 13:!this.a&&(this.a=new FO(this,this)),nL(this.a),!this.a&&(this.a=new FO(this,this)),Ls(this.a,l(n,16));return;case 14:$r(Kl(this)),Ls(Kl(this),l(n,16));return}cf(this,t-wr((En(),z2)),Mn((r=l(Gn(this,16),29),r||z2),t),n)},h.ii=function(){return En(),z2},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new bl(Zu,this,11)),$r(this.d);return;case 12:!this.c&&(this.c=new nt(L3,this,12,10)),$r(this.c);return;case 13:this.a&&nL(this.a);return;case 14:this.b&&$r(this.b);return}of(this,t-wr((En(),z2)),Mn((n=l(Gn(this,16),29),n||z2),t))},h.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;tw&&Ss(t,w,null),s=0,r=new ar(Kl(this.a));r.e!=r.i.gc();)n=l(dr(r),89),f=(g=n.c,g||(En(),td)),Ss(t,s++,f);return t},h.Hj=function(){var t,n,r,s,o;for(o=new e2,o.a+="[",t=Kl(this.a),n=0,s=Kl(this.a).i;n1);case 5:return iA(this,t,n,r,s,this.i-l(r,15).gc()>0);default:return new rp(this.e,t,this.c,n,r,s,!0)}},h.Tj=function(){return!0},h.Qj=function(){return Tue(this)},h.Gk=function(){$r(this)},I(Vn,"EOperationImpl/2",1377),D(507,1,{2037:1,507:1},unt),I(Vn,"EPackageImpl/1",507),D(14,83,Ec,nt),h.il=function(){return this.d},h.jl=function(){return this.b},h.ml=function(){return!0},h.b=0,I(us,"EObjectContainmentWithInverseEList",14),D(365,14,Ec,V8),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Resolving",365),D(308,365,Ec,ky),h.Ni=function(){this.a.tb=null},I(Vn,"EPackageImpl/2",308),D(1278,1,{},gre),I(Vn,"EPackageImpl/3",1278),D(733,45,w6,i3e),h._b=function(t){return Da(t)?woe(this,t):!!zo(this.f,t)},I(Vn,"EPackageRegistryImpl",733),D(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},rse),h.Ah=function(t){return $gt(this,t)},h.Lh=function(t,n,r){var s,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,62):null}return rf(this,t-wr((En(),F4)),Mn((s=l(Gn(this,16),29),s||F4),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?$gt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),F4)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),F4)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 10:return Nh(this,null,10,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),F4)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),F4)),t,r)},h.Wh=function(t){var n,r,s;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,62))}return tf(this,t-wr((En(),F4)),Mn((n=l(Gn(this,16),29),n||F4),t))},h.ii=function(){return En(),F4},I(Vn,"EParameterImpl",518),D(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},o4e),h.Lh=function(t,n,r){var s,o,f,g;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),g=this.t,g>1||g==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this);case 18:return Hn(),!!(this.Bb&nu);case 19:return Hn(),f=jo(this),!!(f&&f.Bb&nu);case 20:return Hn(),!!(this.Bb&Lo);case 21:return n?jo(this):this.b;case 22:return n?i8e(this):rlt(this);case 23:return!this.a&&(this.a=new q5(N4,this,23)),this.a}return rf(this,t-wr((En(),u7)),Mn((s=l(Gn(this,16),29),s||u7),t),n,r)},h.Wh=function(t){var n,r,s,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this);case 18:return(this.Bb&nu)!=0;case 19:return s=jo(this),!!s&&(s.Bb&nu)!=0;case 20:return(this.Bb&Lo)==0;case 21:return!!this.b;case 22:return!!rlt(this);case 23:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),u7)),Mn((n=l(Gn(this,16),29),n||u7),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:Oy(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return;case 18:X2n(this,Ft(Pt(n)));return;case 20:B8e(this,Ft(Pt(n)));return;case 21:N7e(this,l(n,19));return;case 23:!this.a&&(this.a=new q5(N4,this,23)),$r(this.a),!this.a&&(this.a=new q5(N4,this,23)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),u7)),Mn((r=l(Gn(this,16),29),r||u7),t),n)},h.ii=function(){return En(),u7},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return;case 18:P8e(this,!1),De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),2);return;case 20:B8e(this,!0);return;case 21:N7e(this,null);return;case 23:!this.a&&(this.a=new q5(N4,this,23)),$r(this.a);return}of(this,t-wr((En(),u7)),Mn((n=l(Gn(this,16),29),n||u7),t))},h.pi=function(){i8e(this),Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.uk=function(){return jo(this)},h._k=function(){var t;return t=jo(this),!!t&&(t.Bb&nu)!=0},h.al=function(){return(this.Bb&nu)!=0},h.bl=function(){return(this.Bb&Lo)!=0},h.Yk=function(t,n){return this.c=null,C8e(this,t,n)},h.Ib=function(){var t;return this.Db&64?HV(this):(t=new Af(HV(this)),t.a+=" (containment: ",t2(t,(this.Bb&nu)!=0),t.a+=", resolveProxies: ",t2(t,(this.Bb&Lo)!=0),t.a+=")",t.a)},I(Vn,"EReferenceImpl",102),D(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},NS),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return ww(this)},h.Di=function(t){tgn(this,Zr(t))},h.nd=function(t){return $dn(this,Zr(t))},h.Lh=function(t,n,r){var s;switch(t){case 0:return this.b;case 1:return this.c}return rf(this,t-wr((En(),Do)),Mn((s=l(Gn(this,16),29),s||Do),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return tf(this,t-wr((En(),Do)),Mn((n=l(Gn(this,16),29),n||Do),t))},h.bi=function(t,n){var r;switch(t){case 0:ngn(this,Zr(n));return;case 1:D7e(this,Zr(n));return}cf(this,t-wr((En(),Do)),Mn((r=l(Gn(this,16),29),r||Do),t),n)},h.ii=function(){return En(),Do},h.ki=function(t){var n;switch(t){case 0:M7e(this,null);return;case 1:D7e(this,null);return}of(this,t-wr((En(),Do)),Mn((n=l(Gn(this,16),29),n||Do),t))},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:g2(t)),this.a},h.Ci=function(t){this.a=t},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new Af(d0(this)),t.a+=" (key: ",Jo(t,this.b),t.a+=", value: ",Jo(t,this.c),t.a+=")",t.a)},h.a=-1,h.b=null,h.c=null;var Qc=I(Vn,"EStringToStringMapEntryImpl",561),_At=Ts(us,"FeatureMap/Entry/Internal");D(576,1,nK),h.xl=function(t){return this.yl(l(t,54))},h.yl=function(t){return this.xl(t)},h.Fb=function(t){var n,r;return this===t?!0:De(t,76)?(n=l(t,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Fi(r,n.md())):!1):!1},h.Lk=function(){return this.c},h.Hb=function(){var t;return t=this.md(),ts(this.c)^(t==null?0:ts(t))},h.Ib=function(){var t,n;return t=this.c,n=Ah(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},I(Vn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),D(791,576,nK,b4e),h.yl=function(t){return new b4e(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return j3n(this,t,this.a,n,r)},h.Al=function(t,n,r){return $3n(this,t,this.a,n,r)},I(Vn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),D(1350,1,{},lnt),h.yk=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Yl(this.a).Fk(s)},h.zk=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Pl(this.a,s,o)},h.Ak=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Ql(this.a,s,o)},h.Bk=function(t,n,r){var s;return s=l(rT(t,this.b),220),s.Yl(this.a).Qj()},h.Ck=function(t,n,r,s){var o;o=l(rT(t,this.b),220),o.Yl(this.a).Wb(s)},h.Dk=function(t,n,r){return l(rT(t,this.b),220).Yl(this.a)},h.Ek=function(t,n,r){var s;s=l(rT(t,this.b),220),s.Yl(this.a).Gk()},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),D(91,1,{},s2,zm,o2,Gm),h.yk=function(t,n,r,s,o){var f;if(f=n.li(r),f==null&&n.mi(r,f=tG(this,t)),!o)switch(this.e){case 50:case 41:return l(f,597).bk();case 40:return l(f,220).Vl()}return f},h.zk=function(t,n,r,s,o){var f,g;return g=n.li(r),g==null&&n.mi(r,g=tG(this,t)),f=l(g,71).Wk(s,o),f},h.Ak=function(t,n,r,s,o){var f;return f=n.li(r),f!=null&&(o=l(f,71).Xk(s,o)),o},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null&&l(s,79).Qj()},h.Ck=function(t,n,r,s){var o;o=l(n.li(r),79),!o&&n.mi(r,o=tG(this,t)),o.Wb(s)},h.Dk=function(t,n,r){var s,o;return o=n.li(r),o==null&&n.mi(r,o=tG(this,t)),De(o,79)?l(o,79):(s=l(n.li(r),15),new QQe(s))},h.Ek=function(t,n,r){var s;s=l(n.li(r),79),!s&&n.mi(r,s=tG(this,t)),s.Gk()},h.b=0,h.e=0,I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),D(512,1,{}),h.zk=function(t,n,r,s,o){throw ue(new Qr)},h.Ak=function(t,n,r,s,o){throw ue(new Qr)},h.Dk=function(t,n,r){return new cot(this,t,n,r)};var Lg;I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),D(1367,1,v0e,cot),h.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},h.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},h.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},h.Gk=function(){this.a.Ek(this.c,this.d,this.b)},h.b=0,I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),D(784,512,{},i6e),h.yk=function(t,n,r,s,o){return wle(t,t.Ph(),t.Fh())==this.b?this.bl()&&s?sle(t):t.Ph():null},h.zk=function(t,n,r,s,o){var f,g;return t.Ph()&&(o=(f=t.Fh(),f>=0?t.Ah(o):t.Ph().Th(t,-1-f,null,o))),g=vs(t.Dh(),this.e),t.Ch(s,g,o)},h.Ak=function(t,n,r,s,o){var f;return f=vs(t.Dh(),this.e),t.Ch(null,f,o)},h.Bk=function(t,n,r){var s;return s=vs(t.Dh(),this.e),!!t.Ph()&&t.Fh()==s},h.Ck=function(t,n,r,s){var o,f,g,w,T;if(s!=null&&!Tle(this.a,s))throw ue(new Ek(rK+(De(s,58)?Vxe(l(s,58).Dh()):h7e(dh(s)))+iK+this.a+"'"));if(o=t.Ph(),g=vs(t.Dh(),this.e),qe(s)!==qe(o)||t.Fh()!=g&&s!=null){if(jT(t,l(s,58)))throw ue(new Wn(EL+t.Ib()));T=null,o&&(T=(f=t.Fh(),f>=0?t.Ah(T):t.Ph().Th(t,-1-f,null,T))),w=l(s,54),w&&(T=w.Rh(t,vs(w.Dh(),this.b),null,T)),T=t.Ch(w,g,T),T&&T.oj()}else t.vh()&&t.wh()&&Bi(t,new _a(t,1,g,s,s))},h.Ek=function(t,n,r){var s,o,f,g;s=t.Ph(),s?(g=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),f=vs(t.Dh(),this.e),g=t.Ch(null,f,g),g&&g.oj()):t.vh()&&t.wh()&&Bi(t,new Q_(t,1,this.e,null,null))},h.bl=function(){return!1},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),D(1351,784,{},Jit),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),D(574,512,{}),h.yk=function(t,n,r,s,o){var f;return f=n.li(r),f==null?this.b:qe(f)===qe(Lg)?null:f},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null&&(qe(s)===qe(Lg)||!Fi(s,this.b))},h.Ck=function(t,n,r,s){var o,f;t.vh()&&t.wh()?(o=(f=n.li(r),f==null?this.b:qe(f)===qe(Lg)?null:f),s==null?this.c!=null?(n.mi(r,null),s=this.b):this.b!=null?n.mi(r,Lg):n.mi(r,null):(this.Bl(s),n.mi(r,s)),Bi(t,this.d.Cl(t,1,this.e,o,s))):s==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,Lg):n.mi(r,null):(this.Bl(s),n.mi(r,s))},h.Ek=function(t,n,r){var s,o;t.vh()&&t.wh()?(s=(o=n.li(r),o==null?this.b:qe(o)===qe(Lg)?null:o),n.ni(r),Bi(t,this.d.Cl(t,1,this.e,s,this.b))):n.ni(r)},h.Bl=function(t){throw ue(new cJe)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),D(L6,1,{},PS),h.Cl=function(t,n,r,s,o){return new Q_(t,n,r,s,o)},h.Dl=function(t,n,r,s,o,f){return new moe(t,n,r,s,o,f)};var WPe,YPe,XPe,QPe,JPe,ZPe,eBe,vpe,tBe;I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",L6),D(1368,L6,{},q0),h.Cl=function(t,n,r,s,o){return new P6e(t,n,r,Ft(Pt(s)),Ft(Pt(o)))},h.Dl=function(t,n,r,s,o,f){return new Oct(t,n,r,Ft(Pt(s)),Ft(Pt(o)),f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),D(1369,L6,{},BI),h.Cl=function(t,n,r,s,o){return new p7e(t,n,r,l(s,222).a,l(o,222).a)},h.Dl=function(t,n,r,s,o,f){return new Sct(t,n,r,l(s,222).a,l(o,222).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),D(1370,L6,{},FI),h.Cl=function(t,n,r,s,o){return new b7e(t,n,r,l(s,180).a,l(o,180).a)},h.Dl=function(t,n,r,s,o,f){return new _ct(t,n,r,l(s,180).a,l(o,180).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),D(1371,L6,{},d8),h.Cl=function(t,n,r,s,o){return new O6e(t,n,r,ze(Ge(s)),ze(Ge(o)))},h.Dl=function(t,n,r,s,o,f){return new Act(t,n,r,ze(Ge(s)),ze(Ge(o)),f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),D(1372,L6,{},pre),h.Cl=function(t,n,r,s,o){return new w7e(t,n,r,l(s,161).a,l(o,161).a)},h.Dl=function(t,n,r,s,o,f){return new Lct(t,n,r,l(s,161).a,l(o,161).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),D(1373,L6,{},bre),h.Cl=function(t,n,r,s,o){return new N6e(t,n,r,l(s,17).a,l(o,17).a)},h.Dl=function(t,n,r,s,o,f){return new Mct(t,n,r,l(s,17).a,l(o,17).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),D(1374,L6,{},mre),h.Cl=function(t,n,r,s,o){return new m7e(t,n,r,l(s,168).a,l(o,168).a)},h.Dl=function(t,n,r,s,o,f){return new Dct(t,n,r,l(s,168).a,l(o,168).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),D(1375,L6,{},vre),h.Cl=function(t,n,r,s,o){return new v7e(t,n,r,l(s,191).a,l(o,191).a)},h.Dl=function(t,n,r,s,o,f){return new Ict(t,n,r,l(s,191).a,l(o,191).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),D(1353,574,{},uot),h.Bl=function(t){if(!this.a.fk(t))throw ue(new Ek(rK+dh(t)+iK+this.a+"'"))},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),D(1354,574,{},Xst),h.Bl=function(t){},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),D(785,574,{}),h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null},h.Ck=function(t,n,r,s){var o,f;t.vh()&&t.wh()?(o=!0,f=n.li(r),f==null?(o=!1,f=this.b):qe(f)===qe(Lg)&&(f=null),s==null?this.c!=null?(n.mi(r,null),s=this.b):n.mi(r,Lg):(this.Bl(s),n.mi(r,s)),Bi(t,this.d.Dl(t,1,this.e,f,s,!o))):s==null?this.c!=null?n.mi(r,null):n.mi(r,Lg):(this.Bl(s),n.mi(r,s))},h.Ek=function(t,n,r){var s,o;t.vh()&&t.wh()?(s=!0,o=n.li(r),o==null?(s=!1,o=this.b):qe(o)===qe(Lg)&&(o=null),n.ni(r),Bi(t,this.d.Dl(t,2,this.e,o,this.b,s))):n.ni(r)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),D(1355,785,{},lot),h.Bl=function(t){if(!this.a.fk(t))throw ue(new Ek(rK+dh(t)+iK+this.a+"'"))},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),D(1356,785,{},Qst),h.Bl=function(t){},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),D(410,512,{},pH),h.yk=function(t,n,r,s,o){var f,g,w,T,C;if(C=n.li(r),this.tk()&&qe(C)===qe(Lg))return null;if(this.bl()&&s&&C!=null){if(w=l(C,54),w.Vh()&&(T=Lb(t,w),w!=T)){if(!Tle(this.a,T))throw ue(new Ek(rK+dh(T)+iK+this.a+"'"));n.mi(r,C=T),this.al()&&(f=l(T,54),g=w.Th(t,this.b?vs(w.Dh(),this.b):-1-vs(t.Dh(),this.e),null,null),!f.Ph()&&(g=f.Rh(t,this.b?vs(f.Dh(),this.b):-1-vs(t.Dh(),this.e),null,g)),g&&g.oj()),t.vh()&&t.wh()&&Bi(t,new Q_(t,9,this.e,w,T))}return C}else return C},h.zk=function(t,n,r,s,o){var f,g;return g=n.li(r),qe(g)===qe(Lg)&&(g=null),n.mi(r,s),this.Mj()?qe(g)!==qe(s)&&g!=null&&(f=l(g,54),o=f.Th(t,vs(f.Dh(),this.b),null,o)):this.al()&&g!=null&&(o=l(g,54).Th(t,-1-vs(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new hb(4)),o.nj(new Q_(t,1,this.e,g,s))),o},h.Ak=function(t,n,r,s,o){var f;return f=n.li(r),qe(f)===qe(Lg)&&(f=null),n.ni(r),t.vh()&&t.wh()&&(!o&&(o=new hb(4)),this.tk()?o.nj(new Q_(t,2,this.e,f,null)):o.nj(new Q_(t,1,this.e,f,null))),o},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null},h.Ck=function(t,n,r,s){var o,f,g,w,T;if(s!=null&&!Tle(this.a,s))throw ue(new Ek(rK+(De(s,58)?Vxe(l(s,58).Dh()):h7e(dh(s)))+iK+this.a+"'"));T=n.li(r),w=T!=null,this.tk()&&qe(T)===qe(Lg)&&(T=null),g=null,this.Mj()?qe(T)!==qe(s)&&(T!=null&&(o=l(T,54),g=o.Th(t,vs(o.Dh(),this.b),null,g)),s!=null&&(o=l(s,54),g=o.Rh(t,vs(o.Dh(),this.b),null,g))):this.al()&&qe(T)!==qe(s)&&(T!=null&&(g=l(T,54).Th(t,-1-vs(t.Dh(),this.e),null,g)),s!=null&&(g=l(s,54).Rh(t,-1-vs(t.Dh(),this.e),null,g))),s==null&&this.tk()?n.mi(r,Lg):n.mi(r,s),t.vh()&&t.wh()?(f=new moe(t,1,this.e,T,s,this.tk()&&!w),g?(g.nj(f),g.oj()):Bi(t,f)):g&&g.oj()},h.Ek=function(t,n,r){var s,o,f,g,w;w=n.li(r),g=w!=null,this.tk()&&qe(w)===qe(Lg)&&(w=null),f=null,w!=null&&(this.Mj()?(s=l(w,54),f=s.Th(t,vs(s.Dh(),this.b),null,f)):this.al()&&(f=l(w,54).Th(t,-1-vs(t.Dh(),this.e),null,f))),n.ni(r),t.vh()&&t.wh()?(o=new moe(t,this.tk()?2:1,this.e,w,null,g),f?(f.nj(o),f.oj()):Bi(t,o)):f&&f.oj()},h.Mj=function(){return!1},h.al=function(){return!1},h.bl=function(){return!1},h.tk=function(){return!1},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),D(575,410,{},xae),h.al=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),D(1359,575,{},Yrt),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),D(787,575,{},r4e),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),D(1361,787,{},Xrt),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),D(650,575,{},Nae),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),D(1360,650,{},Zit),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),D(788,650,{},H4e),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),D(1362,788,{},est),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),D(651,410,{},i4e),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),D(1363,651,{},Qrt),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),D(789,651,{},z4e),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),D(1364,789,{},tst),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),D(1357,410,{},Jrt),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),D(786,410,{},q4e),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),D(1358,786,{},nst),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),D(790,576,nK,j5e),h.yl=function(t){return new j5e(this.a,this.c,t)},h.md=function(){return this.b},h.zl=function(t,n,r){return Fvn(this,t,this.b,r)},h.Al=function(t,n,r){return Rvn(this,t,this.b,r)},I(Vn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),D(1365,1,v0e,QQe),h.Fk=function(t){return this.a},h.Qj=function(){return De(this.a,97)?l(this.a,97).Qj():!this.a.dc()},h.Wb=function(t){this.a.$b(),this.a.Gc(l(t,15))},h.Gk=function(){De(this.a,97)?l(this.a,97).Gk():this.a.$b()},I(Vn,"EStructuralFeatureImpl/SettingMany",1365),D(1366,576,nK,Eut),h.xl=function(t){return new Eae((Wi(),GM),this.b.ri(this.a,t))},h.md=function(){return null},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Vn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),D(652,576,nK,Eae),h.xl=function(t){return new Eae(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Vn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),D(403,506,Bd,Zd),h.aj=function(t){return We(Uf,jn,29,t,0,1)},h.Yi=function(){return!1},I(Vn,"ESuperAdapter/1",403),D(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},BS),h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new K_(this,Wo,this)),this.a}return rf(this,t-wr((En(),D3)),Mn((s=l(Gn(this,16),29),s||D3),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.a&&(this.a=new K_(this,Wo,this)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),D3)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),D3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),D3)),Mn((n=l(Gn(this,16),29),n||D3),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:!this.a&&(this.a=new K_(this,Wo,this)),$r(this.a),!this.a&&(this.a=new K_(this,Wo,this)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),D3)),Mn((r=l(Gn(this,16),29),r||D3),t),n)},h.ii=function(){return En(),D3},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:!this.a&&(this.a=new K_(this,Wo,this)),$r(this.a);return}of(this,t-wr((En(),D3)),Mn((n=l(Gn(this,16),29),n||D3),t))},I(Vn,"ETypeParameterImpl",457),D(458,83,Ec,K_),h.Nj=function(t,n){return Jxn(this,l(t,89),n)},h.Oj=function(t,n){return Zxn(this,l(t,89),n)},I(Vn,"ETypeParameterImpl/1",458),D(647,45,w6,ise),h.ec=function(){return new qz(this)},I(Vn,"ETypeParameterImpl/2",647),D(570,q1,Tl,qz),h.Fc=function(t){return Eit(this,l(t,89))},h.Gc=function(t){var n,r,s;for(s=!1,r=t.Kc();r.Ob();)n=l(r.Pb(),89),Ti(this.a,n,"")==null&&(s=!0);return s},h.$b=function(){Dl(this.a)},h.Hc=function(t){return Hu(this.a,t)},h.Kc=function(){var t;return t=new Xm(new Cr(this.a).a),new Hz(t)},h.Mc=function(t){return glt(this,t)},h.gc=function(){return g_(this.a)},I(Vn,"ETypeParameterImpl/2/1",570),D(571,1,Ia,Hz),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(zw(this.a).ld(),89)},h.Ob=function(){return this.a.b},h.Qb=function(){Tht(this.a)},I(Vn,"ETypeParameterImpl/2/1/1",571),D(1329,45,w6,zJe),h._b=function(t){return Da(t)?woe(this,t):!!zo(this.f,t)},h.xc=function(t){var n,r;return n=Da(t)?wu(this,t):dc(zo(this.f,t)),De(n,851)?(r=l(n,851),n=r.Kk(),Ti(this,l(t,241),n),n):n??(t==null?(Tse(),LAt):null)},I(Vn,"EValidatorRegistryImpl",1329),D(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},g8),h.ri=function(t,n){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:Tc(n);case 25:return Ywn(n);case 27:return uwn(n);case 28:return lwn(n);case 29:return n==null?null:trt($M[0],l(n,206));case 41:return n==null?"":Pm(l(n,297));case 42:return Tc(n);case 50:return Zr(n);default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;switch(t.G==-1&&(t.G=(z=Ah(t),z?x2(z.vi(),t):-1)),t.G){case 0:return r=new tse,r;case 1:return n=new OI,n;case 2:return s=new vz,s;case 4:return o=new Uz,o;case 5:return f=new $Je,f;case 6:return g=new hJe,g;case 7:return w=new wz,w;case 10:return C=new w5,C;case 11:return L=new nse,L;case 12:return F=new vot,F;case 13:return V=new rse,V;case 14:return J=new o4e,J;case 17:return te=new NS,te;case 18:return T=new iw,T;case 19:return fe=new BS,fe;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new L3e(n);case 21:return n==null?null:new bb(n);case 23:case 22:return n==null?null:c6n(n);case 26:case 24:return n==null?null:yN(Oh(n,-128,127)<<24>>24);case 25:return _En(n);case 27:return Y7n(n);case 28:return X7n(n);case 29:return w9n(n);case 32:case 31:return n==null?null:qy(n);case 38:case 37:return n==null?null:new Gwe(n);case 40:case 39:return n==null?null:bt(Oh(n,ao,Ni));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:lp(eG(n));case 49:case 48:return n==null?null:LT(Oh(n,sK,32767)<<16>>16);case 50:return n;default:throw ue(new Wn(kE+t.xe()+c3))}},I(Vn,"EcoreFactoryImpl",1349),D(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},qat),h.gb=!1,h.hb=!1;var nBe,AAt=!1;I(Vn,"EcorePackageImpl",560),D(1234,1,{851:1},k1),h.Kk=function(){return grt(),MAt},I(Vn,"EcorePackageImpl/1",1234),D(1243,1,xi,P$),h.fk=function(t){return De(t,155)},h.gk=function(t){return We(mF,jn,155,t,0,1)},I(Vn,"EcorePackageImpl/10",1243),D(1244,1,xi,B$),h.fk=function(t){return De(t,197)},h.gk=function(t){return We(upe,jn,197,t,0,1)},I(Vn,"EcorePackageImpl/11",1244),D(1245,1,xi,F$),h.fk=function(t){return De(t,58)},h.gk=function(t){return We(sm,jn,58,t,0,1)},I(Vn,"EcorePackageImpl/12",1245),D(1246,1,xi,R$),h.fk=function(t){return De(t,411)},h.gk=function(t){return We(Vf,KSe,62,t,0,1)},I(Vn,"EcorePackageImpl/13",1246),D(1247,1,xi,j$),h.fk=function(t){return De(t,241)},h.gk=function(t){return We(c1,jn,241,t,0,1)},I(Vn,"EcorePackageImpl/14",1247),D(1248,1,xi,$$),h.fk=function(t){return De(t,518)},h.gk=function(t){return We(L3,jn,2116,t,0,1)},I(Vn,"EcorePackageImpl/15",1248),D(1249,1,xi,H0),h.fk=function(t){return De(t,102)},h.gk=function(t){return We(P4,A6,19,t,0,1)},I(Vn,"EcorePackageImpl/16",1249),D(1250,1,xi,tl),h.fk=function(t){return De(t,179)},h.gk=function(t){return We(fl,A6,179,t,0,1)},I(Vn,"EcorePackageImpl/17",1250),D(1251,1,xi,wre),h.fk=function(t){return De(t,481)},h.gk=function(t){return We(O4,jn,481,t,0,1)},I(Vn,"EcorePackageImpl/18",1251),D(1252,1,xi,yre),h.fk=function(t){return De(t,561)},h.gk=function(t){return We(Qc,M5t,561,t,0,1)},I(Vn,"EcorePackageImpl/19",1252),D(1235,1,xi,xre),h.fk=function(t){return De(t,331)},h.gk=function(t){return We(N4,A6,35,t,0,1)},I(Vn,"EcorePackageImpl/2",1235),D(1253,1,xi,nl),h.fk=function(t){return De(t,248)},h.gk=function(t){return We(Wo,K5t,89,t,0,1)},I(Vn,"EcorePackageImpl/20",1253),D(1254,1,xi,FS),h.fk=function(t){return De(t,457)},h.gk=function(t){return We(Zu,jn,850,t,0,1)},I(Vn,"EcorePackageImpl/21",1254),D(1255,1,xi,z$),h.fk=function(t){return gy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(Vn,"EcorePackageImpl/22",1255),D(1256,1,xi,q$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(Vn,"EcorePackageImpl/23",1256),D(1257,1,xi,p8),h.fk=function(t){return De(t,222)},h.gk=function(t){return We($x,dt,222,t,0,1)},I(Vn,"EcorePackageImpl/24",1257),D(1258,1,xi,kre),h.fk=function(t){return De(t,180)},h.gk=function(t){return We(BL,dt,180,t,0,1)},I(Vn,"EcorePackageImpl/25",1258),D(1259,1,xi,ck),h.fk=function(t){return De(t,206)},h.gk=function(t){return We(pK,dt,206,t,0,1)},I(Vn,"EcorePackageImpl/26",1259),D(1260,1,xi,Tre),h.fk=function(t){return!1},h.gk=function(t){return We(yBe,jn,2215,t,0,1)},I(Vn,"EcorePackageImpl/27",1260),D(1261,1,xi,H$),h.fk=function(t){return py(t)},h.gk=function(t){return We(ra,dt,345,t,7,1)},I(Vn,"EcorePackageImpl/28",1261),D(1262,1,xi,Ere),h.fk=function(t){return De(t,61)},h.gk=function(t){return We(PPe,e4,61,t,0,1)},I(Vn,"EcorePackageImpl/29",1262),D(1236,1,xi,Cre),h.fk=function(t){return De(t,519)},h.gk=function(t){return We(vi,{3:1,4:1,5:1,2033:1},598,t,0,1)},I(Vn,"EcorePackageImpl/3",1236),D(1263,1,xi,RS),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(RPe,jn,2039,t,0,1)},I(Vn,"EcorePackageImpl/30",1263),D(1264,1,xi,U$),h.fk=function(t){return De(t,160)},h.gk=function(t){return We(oBe,e4,160,t,0,1)},I(Vn,"EcorePackageImpl/31",1264),D(1265,1,xi,RI),h.fk=function(t){return De(t,76)},h.gk=function(t){return We(IY,n6t,76,t,0,1)},I(Vn,"EcorePackageImpl/32",1265),D(1266,1,xi,jS),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(LE,dt,161,t,0,1)},I(Vn,"EcorePackageImpl/33",1266),D(1267,1,xi,Sre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(Vn,"EcorePackageImpl/34",1267),D(1268,1,xi,_re),h.fk=function(t){return De(t,297)},h.gk=function(t){return We(a_e,jn,297,t,0,1)},I(Vn,"EcorePackageImpl/35",1268),D(1269,1,xi,jI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(Vn,"EcorePackageImpl/36",1269),D(1270,1,xi,$S),h.fk=function(t){return De(t,85)},h.gk=function(t){return We(o_e,jn,85,t,0,1)},I(Vn,"EcorePackageImpl/37",1270),D(1271,1,xi,T1),h.fk=function(t){return De(t,599)},h.gk=function(t){return We(rBe,jn,599,t,0,1)},I(Vn,"EcorePackageImpl/38",1271),D(1272,1,xi,uk),h.fk=function(t){return!1},h.gk=function(t){return We(xBe,jn,2216,t,0,1)},I(Vn,"EcorePackageImpl/39",1272),D(1237,1,xi,Are),h.fk=function(t){return De(t,90)},h.gk=function(t){return We(Uf,jn,29,t,0,1)},I(Vn,"EcorePackageImpl/4",1237),D(1273,1,xi,lk),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(Vn,"EcorePackageImpl/40",1273),D(1274,1,xi,$I),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(Vn,"EcorePackageImpl/41",1274),D(1275,1,xi,Lm),h.fk=function(t){return De(t,596)},h.gk=function(t){return We(FPe,jn,596,t,0,1)},I(Vn,"EcorePackageImpl/42",1275),D(1276,1,xi,zS),h.fk=function(t){return!1},h.gk=function(t){return We(kBe,dt,2217,t,0,1)},I(Vn,"EcorePackageImpl/43",1276),D(1277,1,xi,zI),h.fk=function(t){return De(t,44)},h.gk=function(t){return We(mv,rG,44,t,0,1)},I(Vn,"EcorePackageImpl/44",1277),D(1238,1,xi,U0),h.fk=function(t){return De(t,142)},h.gk=function(t){return We(u1,jn,142,t,0,1)},I(Vn,"EcorePackageImpl/5",1238),D(1239,1,xi,qS),h.fk=function(t){return De(t,156)},h.gk=function(t){return We(ppe,jn,156,t,0,1)},I(Vn,"EcorePackageImpl/6",1239),D(1240,1,xi,E1),h.fk=function(t){return De(t,469)},h.gk=function(t){return We(DY,jn,685,t,0,1)},I(Vn,"EcorePackageImpl/7",1240),D(1241,1,xi,C1),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(Tp,jn,694,t,0,1)},I(Vn,"EcorePackageImpl/8",1241),D(1242,1,xi,Lre),h.fk=function(t){return De(t,480)},h.gk=function(t){return We(jM,jn,480,t,0,1)},I(Vn,"EcorePackageImpl/9",1242),D(1038,2080,L5t,cZe),h.Mi=function(t,n){F4n(this,l(n,424))},h.Qi=function(t,n){i2t(this,t,l(n,424))},I(Vn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),D(1039,152,rB,Iat),h.jj=function(){return this.a.a},I(Vn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),D(1067,1066,{},Gnt),I("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var rBe=Ts(r6t,"Resource");D(799,1524,i6t),h.Hl=function(t){},h.Il=function(t){},h.El=function(){return!this.a&&(this.a=new Yie(this)),this.a},h.Fl=function(t){var n,r,s,o,f;if(s=t.length,s>0)if(Yn(0,t.length),t.charCodeAt(0)==47){for(f=new Pu(4),o=1,n=1;n0&&(t=(Va(0,r,t.length),t.substr(0,r))));return fTn(this,t)},h.Gl=function(){return this.c},h.Ib=function(){var t;return Pm(this.Rm)+"@"+(t=ts(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},h.b=!1,I(w0e,"ResourceImpl",799),D(1525,799,i6t,JQe),I(w0e,"BinaryResourceImpl",1525),D(1190,708,d0e),h.bj=function(t){return De(t,58)?r2n(this,l(t,58)):De(t,599)?new ar(l(t,599).El()):qe(t)===qe(this.f)?l(t,16).Kc():(jk(),yF.a)},h.Ob=function(){return j9e(this)},h.a=!1,I(us,"EcoreUtil/ContentTreeIterator",1190),D(1526,1190,d0e,cat),h.bj=function(t){return qe(t)===qe(this.f)?l(t,15).Kc():new sut(l(t,58))},I(w0e,"ResourceImpl/5",1526),D(658,2092,G5t,Yie),h.Hc=function(t){return this.i<=4?zT(this,t):De(t,54)&&l(t,54).Jh()==this.a},h.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},h.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):Woe(this,t,n)},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Lj=function(){return 2},h.jj=function(){return this.a},h.Mj=function(){return!0},h.Nj=function(t,n){var r;return r=l(t,54),n=r.fi(this.a,n),n},h.Oj=function(t,n){var r;return r=l(t,54),r.fi(null,n)},h.Pj=function(){return!1},h.Si=function(){return!0},h.aj=function(t){return We(sm,jn,58,t,0,1)},h.Yi=function(){return!1},I(w0e,"ResourceImpl/ContentsEList",658),D(970,2062,aE,ZQe),h.fd=function(t){return this.a.Ki(t)},h.gc=function(){return this.a.gc()},I(us,"AbstractSequentialInternalEList/1",970);var iBe,sBe,no,aBe;D(634,1,{},lst);var OY,NY;I(us,"BasicExtendedMetaData",634),D(1181,1,{},fnt),h.Jl=function(){return null},h.Kl=function(){return this.a==-2&&Ye(this,f9n(this.d,this.b)),this.a},h.Ll=function(){return null},h.Ml=function(){return Cn(),Cn(),Co},h.xe=function(){return this.c==CE&&vt(this,Adt(this.d,this.b)),this.c},h.Nl=function(){return 0},h.a=-2,h.c=CE,I(us,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),D(1182,1,{},Pct),h.Jl=function(){return this.a==(nT(),OY)&&Mt(this,h_n(this.f,this.b)),this.a},h.Kl=function(){return 0},h.Ll=function(){return this.c==(nT(),OY)&&Qe(this,f_n(this.f,this.b)),this.c},h.Ml=function(){return!this.d&&Yt(this,XAn(this.f,this.b)),this.d},h.xe=function(){return this.e==CE&&_n(this,Adt(this.f,this.b)),this.e},h.Nl=function(){return this.g==-2&&Xt(this,Dxn(this.f,this.b)),this.g},h.e=CE,h.g=-2,I(us,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),D(1180,1,{},dnt),h.b=!1,h.c=!1,I(us,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),D(1183,1,{},Bct),h.c=-2,h.e=CE,h.f=CE,I(us,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),D(593,632,Ec,sH),h.Lj=function(){return this.c},h.ol=function(){return!1},h.Wi=function(t,n){return n},h.c=0,I(us,"EDataTypeEList",593);var oBe=Ts(us,"FeatureMap");D(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Ms),h.bd=function(t,n){MCn(this,t,l(n,76))},h.Fc=function(t){return WEn(this,l(t,76))},h.Hi=function(t){epn(this,l(t,76))},h.Nj=function(t,n){return x0n(this,l(t,76),n)},h.Oj=function(t,n){return D4e(this,l(t,76),n)},h.Ti=function(t,n){return nAn(this,t,n)},h.Wi=function(t,n){return qMn(this,t,l(n,76))},h.hd=function(t,n){return mSn(this,t,l(n,76))},h.Uj=function(t,n){return k0n(this,l(t,76),n)},h.Vj=function(t,n){return jit(this,l(t,76),n)},h.Wj=function(t,n,r){return vxn(this,l(t,76),l(n,76),r)},h.Zi=function(t,n){return que(this,t,l(n,76))},h.Ol=function(t,n){return Mke(this,t,n)},h.cd=function(t,n){var r,s,o,f,g,w,T,C,L;for(C=new Bw(n.gc()),o=n.Kc();o.Ob();)if(s=l(o.Pb(),76),f=s.Lk(),dp(this.e,f))(!f.Si()||!YH(this,f,s.md())&&!zT(C,s))&&zr(C,s);else{for(L=Wu(this.e.Dh(),f),r=l(this.g,124),g=!0,w=0;w=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},I(us,"BasicFeatureMap/FeatureEIterator",420),D(676,420,dg,sae),h.ul=function(){return!0},I(us,"BasicFeatureMap/ResolvingFeatureEIterator",676),D(968,496,eK,nrt),h.pj=function(){return this},I(us,"EContentsEList/1",968),D(969,496,eK,Snt),h.ul=function(){return!1},I(us,"EContentsEList/2",969),D(967,287,tK,rrt),h.wl=function(t){},h.Ob=function(){return!1},h.Sb=function(){return!1},I(us,"EContentsEList/FeatureIteratorImpl/1",967),D(840,593,Ec,Rye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EDataTypeEList/Unsettable",840),D(1958,593,Ec,lrt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList",1958),D(1959,840,Ec,hrt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList/Unsettable",1959),D(147,83,Ec,bl),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Resolving",147),D(1184,555,Ec,frt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Unsettable/Resolving",1184),D(766,14,Ec,E4e),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectContainmentWithInverseEList/Unsettable",766),D(1222,766,Ec,Cit),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),D(757,505,Ec,jye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectEList/Unsettable",757),D(338,505,Ec,q5),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList",338),D(1844,757,Ec,drt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList/Unsettable",1844),D(1527,1,{},Mre);var LAt;I(us,"EObjectValidator",1527),D(559,505,Ec,kH),h.il=function(){return this.d},h.jl=function(){return this.b},h.Mj=function(){return!0},h.ml=function(){return!0},h.b=0,I(us,"EObjectWithInverseEList",559),D(1225,559,Ec,Sit),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/ManyInverse",1225),D(635,559,Ec,Sae),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectWithInverseEList/Unsettable",635),D(1224,635,Ec,_it),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),D(767,559,Ec,C4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList",767),D(32,767,Ec,An),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/ManyInverse",32),D(768,635,Ec,S4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList/Unsettable",768),D(1223,768,Ec,Ait),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),D(1185,632,Ec),h.Li=function(){return(this.b&1792)==0},h.Ni=function(){this.b|=1},h.kl=function(){return(this.b&4)!=0},h.Mj=function(){return(this.b&40)!=0},h.ll=function(){return(this.b&16)!=0},h.ml=function(){return(this.b&8)!=0},h.nl=function(){return(this.b&a4)!=0},h.al=function(){return(this.b&32)!=0},h.ol=function(){return(this.b&b0)!=0},h.fk=function(t){return this.d?gut(this.d,t):this.Lk().Hk().fk(t)},h.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},h.Si=function(){return(this.b&128)!=0},h.Gk=function(){var t;$r(this),this.b&2&&(ch(this.e)?(t=(this.b&1)!=0,this.b&=-2,Tk(this,new l0(this.e,2,vs(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},h.Yi=function(){return(this.b&1536)==0},h.b=0,I(us,"EcoreEList/Generic",1185),D(1186,1185,Ec,yot),h.Lk=function(){return this.a},I(us,"EcoreEList/Dynamic",1186),D(765,66,Bd,$we),h.aj=function(t){return EN(this.a.a,t)},I(us,"EcoreEMap/1",765),D(764,83,Ec,E5e),h.Mi=function(t,n){gV(this.b,l(n,136))},h.Oi=function(t,n){m0t(this.b)},h.Pi=function(t,n,r){var s;++(s=this.b,l(n,136),s).e},h.Qi=function(t,n){Qce(this.b,l(n,136))},h.Ri=function(t,n,r){Qce(this.b,l(r,136)),qe(r)===qe(n)&&l(r,136).Ci(whn(l(n,136).ld())),gV(this.b,l(n,136))},I(us,"EcoreEMap/DelegateEObjectContainmentEList",764),D(1220,141,GSe,Nft),I(us,"EcoreEMap/Unsettable",1220),D(1221,764,Ec,Lit),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),D(1189,215,w6,xat),h.a=!1,h.b=!1,I(us,"EcoreUtil/Copier",1189),D(759,1,Ia,sut),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return ddt(this)},h.Pb=function(){var t;return ddt(this),t=this.b,this.b=null,t},h.Qb=function(){this.a.Qb()},I(us,"EcoreUtil/ProperContentIterator",759),D(1528,1527,{},yz);var MAt;I(us,"EcoreValidator",1528);var DAt;Ts(us,"FeatureMapUtil/Validator"),D(1295,1,{2041:1},y5),h.am=function(t){return!0},I(us,"FeatureMapUtil/1",1295),D(773,1,{2041:1},aTe),h.am=function(t){var n;return this.c==t?!0:(n=Pt(or(this.a,t)),n==null?v_n(this,t)?(slt(this.a,t,(Hn(),AE)),!0):(slt(this.a,t,(Hn(),Ub)),!1):n==(Hn(),AE))},h.e=!1;var wpe;I(us,"FeatureMapUtil/BasicValidator",773),D(774,45,w6,Bye),I(us,"FeatureMapUtil/BasicValidator/Cache",774),D(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},AO),h.bd=function(t,n){Wbt(this.c,this.b,t,n)},h.Fc=function(t){return Mke(this.c,this.b,t)},h.cd=function(t,n){return jLn(this.c,this.b,t,n)},h.Gc=function(t){return R_(this,t)},h.Gi=function(t,n){Nwn(this.c,this.b,t,n)},h.Wk=function(t,n){return kke(this.c,this.b,t,n)},h.$i=function(t){return YV(this.c,this.b,t,!1)},h.Ii=function(){return Rnt(this.c,this.b)},h.Ji=function(){return ahn(this.c,this.b)},h.Ki=function(t){return jvn(this.c,this.b,t)},h.Xk=function(t,n){return cit(this,t,n)},h.$b=function(){A8(this)},h.Hc=function(t){return YH(this.c,this.b,t)},h.Ic=function(t){return R3n(this.c,this.b,t)},h.Xb=function(t){return YV(this.c,this.b,t,!0)},h.Fk=function(t){return this},h.dd=function(t){return Gmn(this.c,this.b,t)},h.dc=function(){return Nq(this)},h.Qj=function(){return!VN(this.c,this.b)},h.Kc=function(){return Ewn(this.c,this.b)},h.ed=function(){return Cwn(this.c,this.b)},h.fd=function(t){return n5n(this.c,this.b,t)},h.Ti=function(t,n){return uvt(this.c,this.b,t,n)},h.Ui=function(t,n){qvn(this.c,this.b,t,n)},h.gd=function(t){return zpt(this.c,this.b,t)},h.Mc=function(t){return z_n(this.c,this.b,t)},h.hd=function(t,n){return vvt(this.c,this.b,t,n)},h.Wb=function(t){MV(this.c,this.b),R_(this,l(t,15))},h.gc=function(){return t5n(this.c,this.b)},h.Pc=function(){return Wbn(this.c,this.b)},h.Qc=function(t){return Kmn(this.c,this.b,t)},h.Ib=function(){var t,n;for(n=new e2,n.a+="[",t=Rnt(this.c,this.b);zce(t);)Jo(n,$_(hV(t))),zce(t)&&(n.a+=To);return n.a+="]",n.a},h.Gk=function(){MV(this.c,this.b)},I(us,"FeatureMapUtil/FeatureEList",509),D(644,39,rB,Foe),h.hj=function(t){return _A(this,t)},h.mj=function(t){var n,r,s,o,f,g,w;switch(this.d){case 1:case 2:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=5,n=new Bw(2),zr(n,this.g),zr(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return r=l(this.g,16),r.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=6,w=new Bw(2),zr(w,this.n),zr(w,t.kj()),this.n=w,g=he(le(Ur,1),fi,28,15,[this.o,t.lj()]),this.g=g,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return r=l(this.n,16),r.Fc(t.kj()),g=l(this.g,53),s=We(Ur,fi,28,g.length+1,15,1),gu(g,0,s,0,g.length),s[g.length]=t.lj(),this.g=s,!0;break}}break}}return!1},I(us,"FeatureMapUtil/FeatureENotificationImpl",644),D(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},uH),h.Ol=function(t,n){return Mke(this.c,t,n)},h.Pl=function(t,n,r){return kke(this.c,t,n,r)},h.Ql=function(t,n,r){return Wke(this.c,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return TP(this.c,t,n)},h.Tl=function(t){return l(YV(this.c,this.b,t,!1),76).Lk()},h.Ul=function(t){return l(YV(this.c,this.b,t,!1),76).md()},h.Vl=function(){return this.a},h.Wl=function(t){return!VN(this.c,t)},h.Xl=function(t,n){XV(this.c,t,n)},h.Yl=function(t){return Fft(this.c,t)},h.Zl=function(t){pgt(this.c,t)},I(us,"FeatureMapUtil/FeatureFeatureMap",564),D(1294,1,v0e,hnt),h.Fk=function(t){return YV(this.b,this.a,-1,t)},h.Qj=function(){return!VN(this.b,this.a)},h.Wb=function(t){XV(this.b,this.a,t)},h.Gk=function(){MV(this.b,this.a)},I(us,"FeatureMapUtil/FeatureValue",1294);var u9,ype,xpe,l9,IAt,kF=Ts(uK,"AnyType");D(680,63,gp,fse),I(uK,"InvalidDatatypeValueException",680);var PY=Ts(uK,a6t),TF=Ts(uK,o6t),cBe=Ts(uK,c6t),OAt,ru,uBe,Nv,NAt,PAt,BAt,FAt,RAt,jAt,$At,zAt,qAt,HAt,UAt,l7,VAt,h7,UM,GAt,I3,EF,CF,KAt,VM,GM;D(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},s3e),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b)}return rf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n,r)},h.Uh=function(t,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new Ms(this,0)),wP(this.c,t,r);case 1:return(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),71)).Xk(t,r);case 2:return!this.b&&(this.b=new Ms(this,2)),wP(this.b,t,r)}return s=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),n),69),s.wk().Ak(this,c7e(this),n-wr(this.ii()),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return tf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),WO(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),WO(this.b,n);return}cf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n)},h.ii=function(){return Wi(),uBe},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return}of(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (mixed: ",N_(t,this.c),t.a+=", anyAttribute: ",N_(t,this.b),t.a+=")",t.a)},I(na,"AnyTypeImpl",844),D(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},Nre),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return rf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t),n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return tf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t))},h.bi=function(t,n){switch(t){case 0:mr(this,Zr(n));return;case 1:gr(this,Zr(n));return}cf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t),n)},h.ii=function(){return Wi(),l7},h.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}of(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (data: ",Jo(t,this.a),t.a+=", target: ",Jo(t,this.b),t.a+=")",t.a)},h.a=null,h.b=null,I(na,"ProcessingInstructionImpl",681),D(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},qJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0));case 4:return A4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))));case 5:return this.a}return rf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t),n,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))!=null;case 4:return A4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))))!=null;case 5:return!!this.a}return tf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),WO(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),WO(this.b,n);return;case 3:b6e(this,Zr(n));return;case 4:b6e(this,_4e(this.a,n));return;case 5:Pn(this,l(n,156));return}cf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t),n)},h.ii=function(){return Wi(),h7},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return;case 3:!this.c&&(this.c=new Ms(this,0)),XV(this.c,(Wi(),UM),null);return;case 4:b6e(this,_4e(this.a,null));return;case 5:this.a=null;return}of(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t))},I(na,"SimpleAnyTypeImpl",682),D(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},HJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.a&&(this.a=new Ms(this,0)),this.a):(!this.a&&(this.a=new Ms(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),this.b):(!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),fN(this.b));case 2:return r?(!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),this.c):(!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),fN(this.c));case 3:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),EF));case 4:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),CF));case 5:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),VM));case 6:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),GM))}return rf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t),n,r)},h.Uh=function(t,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new Ms(this,0)),wP(this.a,t,r);case 1:return!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),Jq(this.b,t,r);case 2:return!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),Jq(this.c,t,r);case 5:return!this.a&&(this.a=new Ms(this,0)),cit(yu(this.a,(Wi(),VM)),t,r)}return s=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():(Wi(),I3),n),69),s.wk().Ak(this,c7e(this),n-wr((Wi(),I3)),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),EF)));case 4:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),CF)));case 5:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),VM)));case 6:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),GM)))}return tf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t))},h.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),WO(this.a,n);return;case 1:!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),NU(this.b,n);return;case 2:!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),NU(this.c,n);return;case 3:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),EF))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,EF),l(n,16));return;case 4:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),CF))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,CF),l(n,16));return;case 5:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),VM))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,VM),l(n,16));return;case 6:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),GM))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,GM),l(n,16));return}cf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t),n)},h.ii=function(){return Wi(),I3},h.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),$r(this.a);return;case 1:!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),EF)));return;case 4:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),CF)));return;case 5:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),VM)));return;case 6:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),GM)));return}of(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (mixed: ",N_(t,this.a),t.a+=")",t.a)},I(na,"XMLTypeDocumentRootImpl",683),D(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},hk),h.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:Tc(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Zr(n);case 6:return Ifn(l(n,195));case 12:case 47:case 49:case 11:return swt(this,t,n);case 13:return n==null?null:HLn(l(n,247));case 15:case 14:return n==null?null:Wgn(ze(Ge(n)));case 17:return npt((Wi(),n));case 18:return npt(n);case 21:case 20:return n==null?null:Ygn(l(n,161).a);case 27:return Ofn(l(n,195));case 30:return bgt((Wi(),l(n,15)));case 31:return bgt(l(n,15));case 40:return Pfn((Wi(),n));case 42:return rpt((Wi(),n));case 43:return rpt(n);case 59:case 48:return Nfn((Wi(),n));default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f;switch(t.G==-1&&(t.G=(r=Ah(t),r?x2(r.vi(),t):-1)),t.G){case 0:return n=new s3e,n;case 1:return s=new Nre,s;case 2:return o=new qJe,o;case 3:return f=new HJe,f;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return z6n(n);case 8:case 7:return n==null?null:_xn(n);case 9:return n==null?null:yN(Oh((s=ku(n,!0),s.length>0&&(Yn(0,s.length),s.charCodeAt(0)==43)?(Yn(1,s.length+1),s.substr(1)):s),-128,127)<<24>>24);case 10:return n==null?null:yN(Oh((o=ku(n,!0),o.length>0&&(Yn(0,o.length),o.charCodeAt(0)==43)?(Yn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return Zr(e3(this,(Wi(),BAt),n));case 12:return Zr(e3(this,(Wi(),FAt),n));case 13:return n==null?null:new L3e(ku(n,!0));case 15:case 14:return XEn(n);case 16:return Zr(e3(this,(Wi(),RAt),n));case 17:return vdt((Wi(),n));case 18:return vdt(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return ku(n,!0);case 21:case 20:return aCn(n);case 22:return Zr(e3(this,(Wi(),jAt),n));case 23:return Zr(e3(this,(Wi(),$At),n));case 24:return Zr(e3(this,(Wi(),zAt),n));case 25:return Zr(e3(this,(Wi(),qAt),n));case 26:return Zr(e3(this,(Wi(),HAt),n));case 27:return L6n(n);case 30:return wdt((Wi(),n));case 31:return wdt(n);case 32:return n==null?null:bt(Oh((L=ku(n,!0),L.length>0&&(Yn(0,L.length),L.charCodeAt(0)==43)?(Yn(1,L.length+1),L.substr(1)):L),ao,Ni));case 33:return n==null?null:new bb((F=ku(n,!0),F.length>0&&(Yn(0,F.length),F.charCodeAt(0)==43)?(Yn(1,F.length+1),F.substr(1)):F));case 34:return n==null?null:bt(Oh((z=ku(n,!0),z.length>0&&(Yn(0,z.length),z.charCodeAt(0)==43)?(Yn(1,z.length+1),z.substr(1)):z),ao,Ni));case 36:return n==null?null:lp(eG((V=ku(n,!0),V.length>0&&(Yn(0,V.length),V.charCodeAt(0)==43)?(Yn(1,V.length+1),V.substr(1)):V)));case 37:return n==null?null:lp(eG((J=ku(n,!0),J.length>0&&(Yn(0,J.length),J.charCodeAt(0)==43)?(Yn(1,J.length+1),J.substr(1)):J)));case 40:return S7n((Wi(),n));case 42:return ydt((Wi(),n));case 43:return ydt(n);case 44:return n==null?null:new bb((te=ku(n,!0),te.length>0&&(Yn(0,te.length),te.charCodeAt(0)==43)?(Yn(1,te.length+1),te.substr(1)):te));case 45:return n==null?null:new bb((fe=ku(n,!0),fe.length>0&&(Yn(0,fe.length),fe.charCodeAt(0)==43)?(Yn(1,fe.length+1),fe.substr(1)):fe));case 46:return ku(n,!1);case 47:return Zr(e3(this,(Wi(),UAt),n));case 59:case 48:return C7n((Wi(),n));case 49:return Zr(e3(this,(Wi(),VAt),n));case 50:return n==null?null:LT(Oh((Ee=ku(n,!0),Ee.length>0&&(Yn(0,Ee.length),Ee.charCodeAt(0)==43)?(Yn(1,Ee.length+1),Ee.substr(1)):Ee),sK,32767)<<16>>16);case 51:return n==null?null:LT(Oh((f=ku(n,!0),f.length>0&&(Yn(0,f.length),f.charCodeAt(0)==43)?(Yn(1,f.length+1),f.substr(1)):f),sK,32767)<<16>>16);case 53:return Zr(e3(this,(Wi(),GAt),n));case 55:return n==null?null:LT(Oh((g=ku(n,!0),g.length>0&&(Yn(0,g.length),g.charCodeAt(0)==43)?(Yn(1,g.length+1),g.substr(1)):g),sK,32767)<<16>>16);case 56:return n==null?null:LT(Oh((w=ku(n,!0),w.length>0&&(Yn(0,w.length),w.charCodeAt(0)==43)?(Yn(1,w.length+1),w.substr(1)):w),sK,32767)<<16>>16);case 57:return n==null?null:lp(eG((T=ku(n,!0),T.length>0&&(Yn(0,T.length),T.charCodeAt(0)==43)?(Yn(1,T.length+1),T.substr(1)):T)));case 58:return n==null?null:lp(eG((C=ku(n,!0),C.length>0&&(Yn(0,C.length),C.charCodeAt(0)==43)?(Yn(1,C.length+1),C.substr(1)):C)));case 60:return n==null?null:bt(Oh((r=ku(n,!0),r.length>0&&(Yn(0,r.length),r.charCodeAt(0)==43)?(Yn(1,r.length+1),r.substr(1)):r),ao,Ni));case 61:return n==null?null:bt(Oh(ku(n,!0),ao,Ni));default:throw ue(new Wn(kE+t.xe()+c3))}};var WAt,lBe,YAt,hBe;I(na,"XMLTypeFactoryImpl",2028),D(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},Hat),h.N=!1,h.O=!1;var XAt=!1;I(na,"XMLTypePackageImpl",594),D(1961,1,{851:1},fk),h.Kk=function(){return jke(),sLt},I(na,"XMLTypePackageImpl/1",1961),D(1970,1,xi,HS),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/10",1970),D(1971,1,xi,Dre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/11",1971),D(1972,1,xi,Ire),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/12",1972),D(1973,1,xi,b8),h.fk=function(t){return py(t)},h.gk=function(t){return We(ra,dt,345,t,7,1)},I(na,"XMLTypePackageImpl/13",1973),D(1974,1,xi,V$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/14",1974),D(1975,1,xi,G$),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/15",1975),D(1976,1,xi,Ore),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/16",1976),D(1977,1,xi,K$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/17",1977),D(1978,1,xi,W$),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(LE,dt,161,t,0,1)},I(na,"XMLTypePackageImpl/18",1978),D(1979,1,xi,qI),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/19",1979),D(1962,1,xi,Pre),h.fk=function(t){return De(t,857)},h.gk=function(t){return We(kF,jn,857,t,0,1)},I(na,"XMLTypePackageImpl/2",1962),D(1980,1,xi,US),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/20",1980),D(1981,1,xi,Bre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/21",1981),D(1982,1,xi,Fre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/22",1982),D(1983,1,xi,Rre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/23",1983),D(1984,1,xi,jre),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(na,"XMLTypePackageImpl/24",1984),D(1985,1,xi,$re),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/25",1985),D(1986,1,xi,Y$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/26",1986),D(1987,1,xi,zre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/27",1987),D(1988,1,xi,qre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/28",1988),D(1989,1,xi,Hre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/29",1989),D(1963,1,xi,X$),h.fk=function(t){return De(t,681)},h.gk=function(t){return We(PY,jn,2119,t,0,1)},I(na,"XMLTypePackageImpl/3",1963),D(1990,1,xi,Ure),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(na,"XMLTypePackageImpl/30",1990),D(1991,1,xi,Vre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/31",1991),D(1992,1,xi,VS),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(na,"XMLTypePackageImpl/32",1992),D(1993,1,xi,Gre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/33",1993),D(1994,1,xi,Kre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/34",1994),D(1995,1,xi,Wre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/35",1995),D(1996,1,xi,Yre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/36",1996),D(1997,1,xi,Xre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/37",1997),D(1998,1,xi,Qre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/38",1998),D(1999,1,xi,Q$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/39",1999),D(1964,1,xi,Jre),h.fk=function(t){return De(t,682)},h.gk=function(t){return We(TF,jn,2120,t,0,1)},I(na,"XMLTypePackageImpl/4",1964),D(2e3,1,xi,J$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/40",2e3),D(2001,1,xi,Zre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/41",2001),D(2002,1,xi,HI),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/42",2002),D(2003,1,xi,eie),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/43",2003),D(2004,1,xi,Z$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/44",2004),D(2005,1,xi,tie),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(na,"XMLTypePackageImpl/45",2005),D(2006,1,xi,ez),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/46",2006),D(2007,1,xi,nie),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/47",2007),D(2008,1,xi,tz),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/48",2008),D(2009,1,xi,nz),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(na,"XMLTypePackageImpl/49",2009),D(1965,1,xi,rz),h.fk=function(t){return De(t,683)},h.gk=function(t){return We(cBe,jn,2121,t,0,1)},I(na,"XMLTypePackageImpl/5",1965),D(2010,1,xi,UI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(na,"XMLTypePackageImpl/50",2010),D(2011,1,xi,x5),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/51",2011),D(2012,1,xi,GS),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(na,"XMLTypePackageImpl/52",2012),D(1966,1,xi,S1),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/6",1966),D(1967,1,xi,iz),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(na,"XMLTypePackageImpl/7",1967),D(1968,1,xi,dk),h.fk=function(t){return gy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(na,"XMLTypePackageImpl/8",1968),D(1969,1,xi,VI),h.fk=function(t){return De(t,222)},h.gk=function(t){return We($x,dt,222,t,0,1)},I(na,"XMLTypePackageImpl/9",1969);var nd,H2,KM,BY,ye;D(55,63,gp,ri),I(L2,"RegEx/ParseException",55),D(836,1,{},sz),h.bm=function(t){return tr*16)throw ue(new ri(si((Jr(),w5t))));r=r*16+o}while(!0);if(this.a!=125)throw ue(new ri(si((Jr(),y5t))));if(r>SE)throw ue(new ri(si((Jr(),x5t))));t=r}else{if(o=0,this.c!=0||(o=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(r=o,Mi(this),this.c!=0||(o=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));r=r*16+o,t=r}break;case 117:if(s=0,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));n=n*16+s,t=n;break;case 118:if(Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,n>SE)throw ue(new ri(si((Jr(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw ue(new ri(si((Jr(),k5t))))}return t},h.dm=function(t){var n,r;switch(t){case 100:r=(this.e&32)==32?Bb("Nd",!0):(Ii(),FY);break;case 68:r=(this.e&32)==32?Bb("Nd",!1):(Ii(),mBe);break;case 119:r=(this.e&32)==32?Bb("IsWord",!0):(Ii(),fC);break;case 87:r=(this.e&32)==32?Bb("IsWord",!1):(Ii(),wBe);break;case 115:r=(this.e&32)==32?Bb("IsSpace",!0):(Ii(),h9);break;case 83:r=(this.e&32)==32?Bb("IsSpace",!1):(Ii(),vBe);break;default:throw ue(new Ic((n=t,k6t+n.toString(16))))}return r},h.em=function(t){var n,r,s,o,f,g,w,T,C,L,F,z;for(this.b=1,Mi(this),n=null,this.c==0&&this.a==94?(Mi(this),t?L=(Ii(),Ii(),new _h(5)):(n=(Ii(),Ii(),new _h(4)),xu(n,0,SE),L=new _h(4))):L=(Ii(),Ii(),new _h(4)),o=!0;(z=this.c)!=1&&!(z==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,z==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:Xy(L,this.dm(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.um(L,r),r<0&&(s=!0);break;case 112:case 80:if(F=F9e(this,r),!F)throw ue(new ri(si((Jr(),p0e))));Xy(L,F),s=!0;break;default:r=this.cm()}else if(z==20){if(g=Bk(this.i,58,this.d),g<0)throw ue(new ri(si((Jr(),$Se))));if(w=!0,io(this.i,this.d)==94&&(++this.d,w=!1),f=ef(this.i,this.d,g),T=Wlt(f,w,(this.e&512)==512),!T)throw ue(new ri(si((Jr(),g5t))));if(Xy(L,T),s=!0,g+1>=this.j||io(this.i,g+1)!=93)throw ue(new ri(si((Jr(),$Se))));this.d=g+2}if(Mi(this),!s)if(this.c!=0||this.a!=45)xu(L,r,r);else{if(Mi(this),(z=this.c)==1)throw ue(new ri(si((Jr(),JG))));z==0&&this.a==93?(xu(L,r,r),xu(L,45,45)):(C=this.a,z==10&&(C=this.cm()),Mi(this),xu(L,r,C))}(this.e&b0)==b0&&this.c==0&&this.a==44&&Mi(this)}if(this.c==1)throw ue(new ri(si((Jr(),JG))));return n&&(rL(n,L),L=n),l6(L),tL(L),this.b=0,Mi(this),L},h.fm=function(){var t,n,r,s;for(r=this.em(!1);(s=this.c)!=7;)if(t=this.a,s==0&&(t==45||t==38)||s==4){if(Mi(this),this.c!=9)throw ue(new ri(si((Jr(),b5t))));if(n=this.em(!1),s==4)Xy(r,n);else if(t==45)rL(r,n);else if(t==38)twt(r,n);else throw ue(new Ic("ASSERT"))}else throw ue(new ri(si((Jr(),m5t))));return Mi(this),r},h.gm=function(){var t,n;return t=this.a-48,n=(Ii(),Ii(),new koe(12,null,t)),!this.g&&(this.g=new Gz),Vz(this.g,new zwe(t)),Mi(this),n},h.hm=function(){return Mi(this),Ii(),ZAt},h.im=function(){return Mi(this),Ii(),JAt},h.jm=function(){throw ue(new ri(si((Jr(),pf))))},h.km=function(){throw ue(new ri(si((Jr(),pf))))},h.lm=function(){return Mi(this),Uyn()},h.mm=function(){return Mi(this),Ii(),tLt},h.nm=function(){return Mi(this),Ii(),rLt},h.om=function(){var t;if(this.d>=this.j||((t=io(this.i,this.d++))&65504)!=64)throw ue(new ri(si((Jr(),h5t))));return Mi(this),Ii(),Ii(),new sg(0,t-64)},h.pm=function(){return Mi(this),KAn()},h.qm=function(){return Mi(this),Ii(),iLt},h.rm=function(){var t;return t=(Ii(),Ii(),new sg(0,105)),Mi(this),t},h.sm=function(){return Mi(this),Ii(),nLt},h.tm=function(){return Mi(this),Ii(),eLt},h.um=function(t,n){return this.cm()},h.vm=function(){return Mi(this),Ii(),pBe},h.wm=function(){var t,n,r,s,o;if(this.d+1>=this.j)throw ue(new ri(si((Jr(),c5t))));if(s=-1,n=null,t=io(this.i,this.d),49<=t&&t<=57){if(s=t-48,!this.g&&(this.g=new Gz),Vz(this.g,new zwe(s)),++this.d,io(this.i,this.d)!=41)throw ue(new ri(si((Jr(),pv))));++this.d}else switch(t==63&&--this.d,Mi(this),n=lTe(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw ue(new ri(si((Jr(),pv))));break;default:throw ue(new ri(si((Jr(),u5t))))}if(Mi(this),o=Gw(this),r=null,o.e==2){if(o.Pm()!=2)throw ue(new ri(si((Jr(),l5t))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),Ii(),Ii(),new Lht(s,n,o,r)},h.xm=function(){return Mi(this),Ii(),bBe},h.ym=function(){var t;if(Mi(this),t=TH(24,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.zm=function(){var t;if(Mi(this),t=TH(20,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Am=function(){var t;if(Mi(this),t=TH(22,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Bm=function(){var t,n,r,s,o;for(t=0,r=0,n=-1;this.d=this.j)throw ue(new ri(si((Jr(),RSe))));if(n==45){for(++this.d;this.d=this.j)throw ue(new ri(si((Jr(),RSe))))}if(n==58){if(++this.d,Mi(this),s=Eat(Gw(this),t,r),this.c!=7)throw ue(new ri(si((Jr(),pv))));Mi(this)}else if(n==41)++this.d,Mi(this),s=Eat(Gw(this),t,r);else throw ue(new ri(si((Jr(),o5t))));return s},h.Cm=function(){var t;if(Mi(this),t=TH(21,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Dm=function(){var t;if(Mi(this),t=TH(23,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Em=function(){var t,n;if(Mi(this),t=this.f++,n=Xae(Gw(this),t),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),n},h.Fm=function(){var t;if(Mi(this),t=Xae(Gw(this),0),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Gm=function(t){return Mi(this),this.c==5?(Mi(this),gH(t,(Ii(),Ii(),new _y(9,t)))):gH(t,(Ii(),Ii(),new _y(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new F_(2)),this.c==5?(Mi(this),sv(n,YM),sv(n,t)):(sv(n,t),sv(n,YM)),n},h.Im=function(t){return Mi(this),this.c==5?(Mi(this),Ii(),Ii(),new _y(9,t)):(Ii(),Ii(),new _y(3,t))},h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.f=1,h.g=null,h.j=0,I(L2,"RegEx/RegexParser",836),D(1947,836,{},UJe),h.bm=function(t){return!1},h.cm=function(){return vke(this)},h.dm=function(t){return QT(t)},h.em=function(t){return Xwt(this)},h.fm=function(){throw ue(new ri(si((Jr(),pf))))},h.gm=function(){throw ue(new ri(si((Jr(),pf))))},h.hm=function(){throw ue(new ri(si((Jr(),pf))))},h.im=function(){throw ue(new ri(si((Jr(),pf))))},h.jm=function(){return Mi(this),QT(67)},h.km=function(){return Mi(this),QT(73)},h.lm=function(){throw ue(new ri(si((Jr(),pf))))},h.mm=function(){throw ue(new ri(si((Jr(),pf))))},h.nm=function(){throw ue(new ri(si((Jr(),pf))))},h.om=function(){return Mi(this),QT(99)},h.pm=function(){throw ue(new ri(si((Jr(),pf))))},h.qm=function(){throw ue(new ri(si((Jr(),pf))))},h.rm=function(){return Mi(this),QT(105)},h.sm=function(){throw ue(new ri(si((Jr(),pf))))},h.tm=function(){throw ue(new ri(si((Jr(),pf))))},h.um=function(t,n){return Xy(t,QT(n)),-1},h.vm=function(){return Mi(this),Ii(),Ii(),new sg(0,94)},h.wm=function(){throw ue(new ri(si((Jr(),pf))))},h.xm=function(){return Mi(this),Ii(),Ii(),new sg(0,36)},h.ym=function(){throw ue(new ri(si((Jr(),pf))))},h.zm=function(){throw ue(new ri(si((Jr(),pf))))},h.Am=function(){throw ue(new ri(si((Jr(),pf))))},h.Bm=function(){throw ue(new ri(si((Jr(),pf))))},h.Cm=function(){throw ue(new ri(si((Jr(),pf))))},h.Dm=function(){throw ue(new ri(si((Jr(),pf))))},h.Em=function(){var t;if(Mi(this),t=Xae(Gw(this),0),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Fm=function(){throw ue(new ri(si((Jr(),pf))))},h.Gm=function(t){return Mi(this),gH(t,(Ii(),Ii(),new _y(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new F_(2)),sv(n,t),sv(n,YM),n},h.Im=function(t){return Mi(this),Ii(),Ii(),new _y(3,t)};var f7=null,lC=null;I(L2,"RegEx/ParserForXMLSchema",1947),D(122,1,_E,rw),h.Jm=function(t){throw ue(new Ic("Not supported."))},h.Km=function(){return-1},h.Lm=function(t){return null},h.Mm=function(){return null},h.Nm=function(t){},h.Om=function(t){},h.Pm=function(){return 0},h.Ib=function(){return this.Qm(0)},h.Qm=function(t){return this.e==11?".":""},h.e=0;var fBe,hC,WM,QAt,dBe,R4=null,FY,kpe=null,gBe,YM,Tpe=null,pBe,bBe,mBe,vBe,wBe,JAt,h9,ZAt,eLt,tLt,nLt,fC,rLt,iLt,rNn=I(L2,"RegEx/Token",122);D(138,122,{3:1,138:1,122:1},_h),h.Qm=function(t){var n,r,s;if(this.e==4)if(this==gBe)r=".";else if(this==FY)r="\\d";else if(this==fC)r="\\w";else if(this==h9)r="\\s";else{for(s=new e2,s.a+="[",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?Jo(s,kP(this.b[n])):(Jo(s,kP(this.b[n])),s.a+="-",Jo(s,kP(this.b[n+1])));s.a+="]",r=s.a}else if(this==mBe)r="\\D";else if(this==wBe)r="\\W";else if(this==vBe)r="\\S";else{for(s=new e2,s.a+="[^",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?Jo(s,kP(this.b[n])):(Jo(s,kP(this.b[n])),s.a+="-",Jo(s,kP(this.b[n+1])));s.a+="]",r=s.a}return r},h.a=!1,h.c=!1,I(L2,"RegEx/RangeToken",138),D(592,1,{592:1},zwe),h.a=0,I(L2,"RegEx/RegexParser/ReferencePosition",592),D(591,1,{3:1,591:1},set),h.Fb=function(t){var n;return t==null||!De(t,591)?!1:(n=l(t,591),wn(this.b,n.b)&&this.a==n.a)},h.Hb=function(){return g2(this.b+"/"+hke(this.a))},h.Ib=function(){return this.c.Qm(this.a)},h.a=0,I(L2,"RegEx/RegularExpression",591),D(228,122,_E,sg),h.Km=function(){return this.a},h.Qm=function(t){var n,r,s;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:s="\\"+Cae(this.a&ta);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=Lo?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+ef(r,r.length-6,r.length)):s=""+Cae(this.a&ta)}break;case 8:this==pBe||this==bBe?s=""+Cae(this.a&ta):s="\\"+Cae(this.a&ta);break;default:s=null}return s},h.a=0,I(L2,"RegEx/Token/CharToken",228),D(318,122,_E,_y),h.Lm=function(t){return this.a},h.Nm=function(t){this.b=t},h.Om=function(t){this.c=t},h.Pm=function(){return 1},h.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw ue(new Ic("Token#toString(): CLOSURE "+this.c+To+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw ue(new Ic("Token#toString(): NONGREEDYCLOSURE "+this.c+To+this.b));return n},h.b=0,h.c=0,I(L2,"RegEx/Token/ClosureToken",318),D(837,122,_E,M5e),h.Lm=function(t){return t==0?this.a:this.b},h.Pm=function(){return 2},h.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},I(L2,"RegEx/Token/ConcatToken",837),D(1945,122,_E,Lht),h.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw ue(new Ic("Internal Error: "+t))},h.Pm=function(){return this.b?2:1},h.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},h.c=0,I(L2,"RegEx/Token/ConditionToken",1945),D(1946,122,_E,wct),h.Lm=function(t){return this.b},h.Pm=function(){return 1},h.Qm=function(t){return"(?"+(this.a==0?"":hke(this.a))+(this.c==0?"":hke(this.c))+":"+this.b.Qm(t)+")"},h.a=0,h.c=0,I(L2,"RegEx/Token/ModifierToken",1946),D(838,122,_E,$5e),h.Lm=function(t){return this.a},h.Pm=function(){return 1},h.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?"+this.a.Qm(t)+")"}return n},h.b=0,I(L2,"RegEx/Token/ParenToken",838),D(530,122,{3:1,122:1,530:1},koe),h.Mm=function(){return this.b},h.Qm=function(t){return this.e==12?"\\"+this.a:jEn(this.b)},h.a=0,I(L2,"RegEx/Token/StringToken",530),D(477,122,_E,F_),h.Jm=function(t){sv(this,t)},h.Lm=function(t){return l(Aw(this.a,t),122)},h.Pm=function(){return this.a?this.a.a.c.length:0},h.Qm=function(t){var n,r,s,o,f;if(this.e==1){if(this.a.a.c.length==2)n=l(Aw(this.a,0),122),r=l(Aw(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(t)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+r.Qm(t));else{for(f=new e2,s=0;s=this.c.b:this.a<=this.c.b},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Vb=function(){return this.b-1},h.Qb=function(){throw ue(new Jp(L6t))},h.a=0,h.b=0,I(s_e,"ExclusiveRange/RangeIterator",258);var xf=Wk(ZG,"C"),Ur=Wk(ML,"I"),th=Wk(Sx,"Z"),hm=Wk(DL,"J"),_l=Wk(_L,"B"),Oa=Wk(AL,"D"),j4=Wk(LL,"F"),d7=Wk(IL,"S"),iNn=Ts("org.eclipse.elk.core.labels","ILabelManager"),yBe=Ts(Eo,"DiagnosticChain"),xBe=Ts(r6t,"ResourceSet"),kBe=I(Eo,"InvocationTargetException",null),aLt=(Xz(),vvn),oLt=oLt=uxn;h3n(oun),o3n("permProps",[[["locale","default"],[M6t,"gecko1_8"]],[["locale","default"],[M6t,"safari"]]]),oLt(null,"elk",null)}).call(this)}).call(this,typeof Dg<"u"?Dg:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(u,d,p){function v(A,P){if(!(A instanceof P))throw new TypeError("Cannot call a class as a function")}function b(A,P){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P&&(typeof P=="object"||typeof P=="function")?P:A}function y(A,P){if(typeof P!="function"&&P!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof P);A.prototype=Object.create(P&&P.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),P&&(Object.setPrototypeOf?Object.setPrototypeOf(A,P):A.__proto__=P)}var E=u("./elk-api.js").default,_=function(A){y(P,A);function P(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,P);var B=Object.assign({},R),j=!1;try{u.resolve("web-worker"),j=!0}catch{}if(R.workerUrl)if(j){var W=u("web-worker");B.workerFactory=function(oe){return new W(oe)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!B.workerFactory){var ee=u("./elk-worker.min.js"),ie=ee.Worker;B.workerFactory=function(oe){return new ie(oe)}}return b(this,(P.__proto__||Object.getPrototypeOf(P)).call(this,B))}return P}(E);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(u,d,p){d.exports=Worker},{}]},{},[3])(3)})})(wWe);var Gan=wWe.exports;const Kan=dC(Gan),yWe=new Kan;let Xv={};const Wan={};let Y7={};const Yan=async function(i,a,u,d,p,v,b){const E=u.select(`[id="${a}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(A){const P=i[A];let R="default";P.classes.length>0&&(R=P.classes.join(" ")),R=R+" flowchart-label";const B=gm(P.styles);let j=P.text!==void 0?P.text:P.id;const W={width:0,height:0},ee=[{id:P.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:P.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:P.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:P.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ie=0,oe="",be={};switch(P.type){case"round":ie=5,oe="rect";break;case"square":oe="rect";break;case"diamond":oe="question",be={portConstraints:"FIXED_SIDE"};break;case"hexagon":oe="hexagon";break;case"odd":oe="rect_left_inv_arrow";break;case"lean_right":oe="lean_right";break;case"lean_left":oe="lean_left";break;case"trapezoid":oe="trapezoid";break;case"inv_trapezoid":oe="inv_trapezoid";break;case"odd_right":oe="rect_left_inv_arrow";break;case"circle":oe="circle";break;case"ellipse":oe="ellipse";break;case"stadium":oe="stadium";break;case"subroutine":oe="subroutine";break;case"cylinder":oe="cylinder";break;case"group":oe="rect";break;case"doublecircle":oe="doublecircle";break;default:oe="rect"}const ge={labelStyle:B.labelStyle,shape:oe,labelText:j,labelType:P.labelType,rx:ie,ry:ie,class:R,style:B.style,id:P.id,link:P.link,linkTarget:P.linkTarget,tooltip:p.db.getTooltip(P.id)||"",domId:p.db.lookUpDomId(P.id),haveCallback:P.haveCallback,width:P.type==="group"?500:void 0,dir:P.dir,type:P.type,props:P.props,padding:mh().flowchart.padding};let ae,ne;if(ge.type!=="group")ne=await pJ(E,ge,P.dir),ae=ne.node().getBBox();else{d.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:de,bbox:X}=await g1(E,ge,void 0,!0);W.width=X.width,W.wrappingWidth=mh().flowchart.wrappingWidth,W.height=X.height,W.labelNode=de.node(),ge.labelData=W}const se={id:P.id,ports:P.type==="diamond"?ee:[],layoutOptions:be,labelText:j,labelData:W,domId:p.db.lookUpDomId(P.id),width:ae==null?void 0:ae.width,height:ae==null?void 0:ae.height,type:P.type,el:ne,parent:v.parentById[P.id]};Y7[ge.id]=se})),b},xWe=(i,a,u)=>{const d={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return d.TD=d.TB,d[u][a][i]},kWe=(i,a,u)=>{if(Xe.info("getNextPort",{node:i,edgeDirection:a,graphDirection:u}),!Xv[i])switch(u){case"TB":case"TD":Xv[i]={inPosition:"north",outPosition:"south"};break;case"BT":Xv[i]={inPosition:"south",outPosition:"north"};break;case"RL":Xv[i]={inPosition:"east",outPosition:"west"};break;case"LR":Xv[i]={inPosition:"west",outPosition:"east"};break}const d=a==="in"?Xv[i].inPosition:Xv[i].outPosition;return a==="in"?Xv[i].inPosition=xWe(Xv[i].inPosition,a,u):Xv[i].outPosition=xWe(Xv[i].outPosition,a,u),d},Xan=(i,a)=>{let u=i.start,d=i.end;const p=u,v=d,b=Y7[u],y=Y7[d];return!b||!y?{source:u,target:d}:(b.type==="diamond"&&(u=`${u}-${kWe(u,"out",a)}`),y.type==="diamond"&&(d=`${d}-${kWe(d,"in",a)}`),{source:u,target:d,sourceId:p,targetId:v})},Qan=function(i,a,u,d){Xe.info("abc78 edges = ",i);const p=d.insert("g").attr("class","edgeLabels");let v={},b=a.db.getDirection(),y,E;if(i.defaultStyle!==void 0){const _=gm(i.defaultStyle);y=_.style,E=_.labelStyle}return i.forEach(function(_){const A="L-"+_.start+"-"+_.end;v[A]===void 0?(v[A]=0,Xe.info("abc78 new entry",A,v[A])):(v[A]++,Xe.info("abc78 new entry",A,v[A]));let P=A+"-"+v[A];Xe.info("abc78 new link id to be used is",A,P,v[A]);const R="LS-"+_.start,B="LE-"+_.end,j={style:"",labelStyle:""};switch(j.minlen=_.length||1,_.type==="arrow_open"?j.arrowhead="none":j.arrowhead="normal",j.arrowTypeStart="arrow_open",j.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":j.arrowTypeStart="arrow_cross";case"arrow_cross":j.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":j.arrowTypeStart="arrow_point";case"arrow_point":j.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":j.arrowTypeStart="arrow_circle";case"arrow_circle":j.arrowTypeEnd="arrow_circle";break}let W="",ee="";switch(_.stroke){case"normal":W="fill:none;",y!==void 0&&(W=y),E!==void 0&&(ee=E),j.thickness="normal",j.pattern="solid";break;case"dotted":j.thickness="normal",j.pattern="dotted",j.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":j.thickness="thick",j.pattern="solid",j.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const ne=gm(_.style);W=ne.style,ee=ne.labelStyle}j.style=j.style+=W,j.labelStyle=j.labelStyle+=ee,_.interpolate!==void 0?j.curve=qv(_.interpolate,Sp):i.defaultInterpolate!==void 0?j.curve=qv(i.defaultInterpolate,Sp):j.curve=qv(Wan.curve,Sp),_.text===void 0?_.style!==void 0&&(j.arrowheadStyle="fill: #333"):(j.arrowheadStyle="fill: #333",j.labelpos="c"),j.labelType=_.labelType,j.label=_.text.replace(oi.lineBreakRegex,` +`),_.style===void 0&&(j.style=j.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),j.labelStyle=j.labelStyle.replace("color:","fill:"),j.id=P,j.classes="flowchart-link "+R+" "+B;const ie=sve(p,j),{source:oe,target:be,sourceId:ge,targetId:ae}=Xan(_,b);Xe.debug("abc78 source and target",oe,be),u.edges.push({id:"e"+_.start+_.end,sources:[oe],targets:[be],sourceId:ge,targetId:ae,labelEl:ie,labels:[{width:j.width,height:j.height,orgWidth:j.width,orgHeight:j.height,text:j.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:j})}),u},Jan=function(i,a,u,d,p){let v="";d&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),iGe(i,a,v,p,u)},Zan=function(i,a){return Xe.info("Extracting classes"),a.db.getClasses()},eon=function(i){const a={parentById:{},childrenById:{}},u=i.getSubGraphs();return Xe.info("Subgraphs - ",u),u.forEach(function(d){d.nodes.forEach(function(p){a.parentById[p]=d.id,a.childrenById[d.id]===void 0&&(a.childrenById[d.id]=[]),a.childrenById[d.id].push(p)})}),u.forEach(function(d){d.id,a.parentById[d.id]!==void 0&&a.parentById[d.id]}),a},ton=function(i,a,u){const d=Van(i,a,u);if(d===void 0||d==="root")return{x:0,y:0};const p=Y7[d].offset;return{x:p.posX,y:p.posY}},non=function(i,a,u,d,p,v){const b=ton(a.sourceId,a.targetId,p),y=a.sections[0].startPoint,E=a.sections[0].endPoint,A=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(be=>[be.x+b.x,be.y+b.y]),P=[[y.x+b.x,y.y+b.y],...A,[E.x+b.x,E.y+b.y]],{x:R,y:B}=rGe(a.edgeData),j=E7().x(R).y(B).curve(Sp),W=i.insert("path").attr("d",j(P)).attr("class","path "+u.classes).attr("fill","none"),ee=i.insert("g").attr("class","edgeLabel"),ie=Dr(ee.node().appendChild(a.labelEl)),oe=ie.node().firstChild.getBoundingClientRect();ie.attr("width",oe.width),ie.attr("height",oe.height),ee.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),Jan(W,u,d.type,d.arrowMarkerAbsolute,v)},TWe=(i,a)=>{i.forEach(u=>{u.children||(u.children=[]);const d=a.childrenById[u.id];d&&d.forEach(p=>{u.children.push(Y7[p])}),TWe(u.children,a)})},ron=async function(i,a,u,d){var se;d.db.clear(),Y7={},Xv={},d.db.setGen("gen-2"),d.parser.parse(i);const p=Dr("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Xe.info("Drawing flowchart using v3 renderer",yWe),d.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:y,flowchart:E}=mh();let _;y==="sandbox"&&(_=Dr("#i"+a));const A=Dr(y==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=y==="sandbox"?_.nodes()[0].contentDocument:document,R=A.select(`[id="${a}"]`);Ume(R,["point","circle","cross"],d.type,a);const j=d.db.getVertices();let W;const ee=d.db.getSubGraphs();Xe.info("Subgraphs - ",ee);for(let de=ee.length-1;de>=0;de--)W=ee[de],d.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const ie=R.insert("g").attr("class","subgraphs"),oe=eon(d.db);v=await Yan(j,a,A,P,d,oe,v);const be=R.insert("g").attr("class","edges edgePath"),ge=d.db.getEdges();v=Qan(ge,d,v,R),Object.keys(Y7).forEach(de=>{const X=Y7[de];X.parent||v.children.push(X),oe.childrenById[de]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),TWe(v.children,oe),Xe.info("after layout",JSON.stringify(v,null,2));const ne=await yWe.layout(v);EWe(0,0,ne.children,R,ie,d,0),Xe.info("after layout",ne),(se=ne.edges)==null||se.map(de=>{non(be,de,de.edgeData,d,oe,a)}),x9({},R,E.diagramPadding,E.useMaxWidth),p.remove()},EWe=(i,a,u,d,p,v,b)=>{u.forEach(function(y){if(y)if(Y7[y.id].offset={posX:y.x+i,posY:y.y+a,x:i,y:a,depth:b,width:y.width,height:y.height},y.type==="group"){const E=p.insert("g").attr("class","subgraph");E.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",y.x+i).attr("y",y.y+a).attr("width",y.width).attr("height",y.height);const _=E.insert("g").attr("class","label"),A=mh().flowchart.htmlLabels?y.labelData.width/2:0;_.attr("transform",`translate(${y.labels[0].x+i+y.x+A}, ${y.labels[0].y+a+y.y+3})`),_.node().appendChild(y.labelData.labelNode),Xe.info("Id (UGH)= ",y.type,y.labels)}else Xe.info("Id (UGH)= ",y.id),y.el.attr("transform",`translate(${y.x+i+y.width/2}, ${y.y+a+y.height/2})`)}),u.forEach(function(y){y&&y.type==="group"&&EWe(i+y.x,a+y.y,y.children,d,p,v,b+1)})},ion={getClasses:Zan,draw:ron},son=i=>{let a="";for(let u=0;u<5;u++)a+=` + .subgraph-lvl-${u} { + fill: ${i[`surface${u}`]}; + stroke: ${i[`surfacePeer${u}`]}; + } + `;return a},aon=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:WVt,renderer:ion,parser:lme,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${son(i)} +`}},Symbol.toStringTag,{value:"Module"}));var pwe=function(){var i=function(R,B,j,W){for(j=j||{},W=R.length;W--;j[R[W]]=B);return j},a=[6,8,10,11,12,14,16,17,20,21],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,16],E=[1,17],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline: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,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",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",20:"period",21:"event"},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,1],[9,1],[18,1],[19,1]],performAction:function(B,j,W,ee,ie,oe,be){var ge=oe.length-1;switch(ie){case 1:return oe[ge-1];case 2:this.$=[];break;case 3:oe[ge-1].push(oe[ge]),this.$=oe[ge-1];break;case 4:case 5:this.$=oe[ge];break;case 6:case 7:this.$=[];break;case 8:ee.getCommonDb().setDiagramTitle(oe[ge].substr(6)),this.$=oe[ge].substr(6);break;case 9:this.$=oe[ge].trim(),ee.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=oe[ge].trim(),ee.getCommonDb().setAccDescription(this.$);break;case 12:ee.addSection(oe[ge].substr(8)),this.$=oe[ge].substr(8);break;case 15:ee.addTask(oe[ge],0,""),this.$=oe[ge];break;case 16:ee.addEvent(oe[ge].substr(2)),this.$=oe[ge];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(B,j){if(j.recoverable)this.trace(B);else{var W=new Error(B);throw W.hash=j,W}},parse:function(B){var j=this,W=[0],ee=[],ie=[null],oe=[],be=this.table,ge="",ae=0,ne=0,se=2,de=1,X=oe.slice.call(arguments,1),pe=Object.create(this.lexer),G={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(G.yy[xe]=this.yy[xe]);pe.setInput(B,G.yy),G.yy.lexer=pe,G.yy.parser=this,typeof pe.yylloc>"u"&&(pe.yylloc={});var U=pe.yylloc;oe.push(U);var Be=pe.options&&pe.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Et;return Et=ee.pop()||pe.lex()||de,typeof Et!="number"&&(Et instanceof Array&&(ee=Et,Et=ee.pop()),Et=j.symbols_[Et]||Et),Et}for(var je,Ie,Se,Ce,ke={},Ke,zt,Ne,pn;;){if(Ie=W[W.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((je===null||typeof je>"u")&&(je=Pe()),Se=be[Ie]&&be[Ie][je]),typeof Se>"u"||!Se.length||!Se[0]){var Tt="";pn=[];for(Ke in be[Ie])this.terminals_[Ke]&&Ke>se&&pn.push("'"+this.terminals_[Ke]+"'");pe.showPosition?Tt="Parse error on line "+(ae+1)+`: +`+pe.showPosition()+` +Expecting `+pn.join(", ")+", got '"+(this.terminals_[je]||je)+"'":Tt="Parse error on line "+(ae+1)+": Unexpected "+(je==de?"end of input":"'"+(this.terminals_[je]||je)+"'"),this.parseError(Tt,{text:pe.match,token:this.terminals_[je]||je,line:pe.yylineno,loc:U,expected:pn})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+je);switch(Se[0]){case 1:W.push(je),ie.push(pe.yytext),oe.push(pe.yylloc),W.push(Se[1]),je=null,ne=pe.yyleng,ge=pe.yytext,ae=pe.yylineno,U=pe.yylloc;break;case 2:if(zt=this.productions_[Se[1]][1],ke.$=ie[ie.length-zt],ke._$={first_line:oe[oe.length-(zt||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(zt||1)].first_column,last_column:oe[oe.length-1].last_column},Be&&(ke._$.range=[oe[oe.length-(zt||1)].range[0],oe[oe.length-1].range[1]]),Ce=this.performAction.apply(ke,[ge,ne,ae,G.yy,Se[1],ie,oe].concat(X)),typeof Ce<"u")return Ce;zt&&(W=W.slice(0,-1*zt*2),ie=ie.slice(0,-1*zt),oe=oe.slice(0,-1*zt)),W.push(this.productions_[Se[1]][0]),ie.push(ke.$),oe.push(ke._$),Ne=be[W[W.length-2]][W[W.length-1]],W.push(Ne);break;case 3:return!0}}return!0}},A=function(){var R={EOF:1,parseError:function(j,W){if(this.yy.parser)this.yy.parser.parseError(j,W);else throw new Error(j)},setInput:function(B,j){return this.yy=j||this.yy||{},this._input=B,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},input:function(){var B=this._input[0];this.yytext+=B,this.yyleng++,this.offset++,this.match+=B,this.matched+=B;var j=B.match(/(?:\r\n?|\n).*/g);return j?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),B},unput:function(B){var j=B.length,W=B.split(/(?:\r\n?|\n)/g);this._input=B+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var ee=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),W.length-1&&(this.yylineno-=W.length-1);var ie=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:W?(W.length===ee.length?this.yylloc.first_column:0)+ee[ee.length-W.length].length-W[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[ie[0],ie[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(B){this.unput(this.match.slice(B))},pastInput:function(){var B=this.matched.substr(0,this.matched.length-this.match.length);return(B.length>20?"...":"")+B.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var B=this.match;return B.length<20&&(B+=this._input.substr(0,20-B.length)),(B.substr(0,20)+(B.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var B=this.pastInput(),j=new Array(B.length+1).join("-");return B+this.upcomingInput()+` +`+j+"^"},test_match:function(B,j){var W,ee,ie;if(this.options.backtrack_lexer&&(ie={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&&(ie.yylloc.range=this.yylloc.range.slice(0))),ee=B[0].match(/(?:\r\n?|\n).*/g),ee&&(this.yylineno+=ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ee?ee[ee.length-1].length-ee[ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+B[0].length},this.yytext+=B[0],this.match+=B[0],this.matches=B,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(B[0].length),this.matched+=B[0],W=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var oe in ie)this[oe]=ie[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var B,j,W,ee;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),oe=0;oej[0].length)){if(j=W,ee=oe,this.options.backtrack_lexer){if(B=this.test_match(W,ie[oe]),B!==!1)return B;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(B=this.test_match(j,ie[ee]),B!==!1?B:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,W,ee,ie){switch(ee){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 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/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;]+)/i,/^(?:[^#:\n;]+)/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],inclusive:!0}}};return R}();_.lexer=A;function P(){this.yy={}}return P.prototype=_,_.Parser=P,new P}();pwe.parser=pwe;const oon=pwe;let oI="",CWe=0;const bwe=[],GJ=[],cI=[],SWe=()=>T$e,_We=function(){bwe.length=0,GJ.length=0,oI="",cI.length=0,Rg()},AWe=function(i){oI=i,bwe.push(i)},LWe=function(){return bwe},MWe=function(){let i=NWe();const a=100;let u=0;for(;!i&&uu.id===CWe-1).events.push(i)},OWe=function(i){const a={section:oI,type:oI,description:i,task:i,classes:[]};GJ.push(a)},NWe=function(){const i=function(u){return cI[u].processed};let a=!0;for(const[u,d]of cI.entries())i(u),a=a&&d.processed;return a},con=Object.freeze(Object.defineProperty({__proto__:null,addEvent:IWe,addSection:AWe,addTask:DWe,addTaskOrg:OWe,clear:_We,default:{clear:_We,getCommonDb:SWe,addSection:AWe,getSections:LWe,getTasks:MWe,addTask:DWe,addTaskOrg:OWe,addEvent:IWe},getCommonDb:SWe,getSections:LWe,getTasks:MWe},Symbol.toStringTag,{value:"Module"})),uon=12,KJ=function(i,a){const u=i.append("rect");return u.attr("x",a.x),u.attr("y",a.y),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("width",a.width),u.attr("height",a.height),u.attr("rx",a.rx),u.attr("ry",a.ry),a.class!==void 0&&u.attr("class",a.class),u},lon=function(i,a){const d=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(E){const _=hD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(E){const _=hD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function y(E){E.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(p):a.score<3?b(p):y(p),d},hon=function(i,a){const u=i.append("circle");return u.attr("cx",a.cx),u.attr("cy",a.cy),u.attr("class","actor-"+a.pos),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("r",a.r),u.class!==void 0&&u.attr("class",u.class),a.title!==void 0&&u.append("title").text(a.title),u},PWe=function(i,a){const u=a.text.replace(//gi," "),d=i.append("text");d.attr("x",a.x),d.attr("y",a.y),d.attr("class","legend"),d.style("text-anchor",a.anchor),a.class!==void 0&&d.attr("class",a.class);const p=d.append("tspan");return p.attr("x",a.x+a.textMargin*2),p.text(u),d},fon=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(a.x,a.y,50,20,7)),d.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,PWe(i,a)},don=function(i,a,u){const d=i.append("g"),p=mwe();p.x=a.x,p.y=a.y,p.fill=a.fill,p.width=u.width,p.height=u.height,p.class="journey-section section-type-"+a.num,p.rx=3,p.ry=3,KJ(d,p),FWe(u)(a.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+a.num},u,a.colour)};let BWe=-1;const gon=function(i,a,u){const d=a.x+u.width/2,p=i.append("g");BWe++;const v=300+5*30;p.append("line").attr("id","task"+BWe).attr("x1",d).attr("y1",a.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),lon(p,{cx:d,cy:300+(5-a.score)*30,score:a.score});const b=mwe();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,KJ(p,b),a.x+14,FWe(u)(a.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,a.colour)},pon=function(i,a){KJ(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},bon=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},mwe=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},FWe=function(){function i(p,v,b,y,E,_,A,P){const R=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function a(p,v,b,y,E,_,A,P,R){const{taskFontSize:B,taskFontFamily:j}=P,W=p.split(//gi);for(let ee=0;ee)/).reverse(),p,v=[],b=1.1,y=u.attr("y"),E=parseFloat(u.attr("dy")),_=u.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",E+"em");for(let A=0;Aa||p==="
")&&(v.pop(),_.text(v.join(" ").trim()),p==="
"?v=[""]:v=[p],_=u.append("tspan").attr("x",0).attr("y",y).attr("dy",b+"em").text(p))})}const von=function(i,a,u,d){const p=u%uon-1,v=i.append("g");a.section=p,v.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+p));const b=v.append("g"),y=v.append("g"),_=y.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RWe,a.width).node().getBBox(),A=d.fontSize&&d.fontSize.replace?d.fontSize.replace("px",""):d.fontSize;return a.height=_.height+A*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,y.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),yon(b,a,p),a},won=function(i,a,u){const d=i.append("g"),v=d.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RWe,a.width).node().getBBox(),b=u.fontSize&&u.fontSize.replace?u.fontSize.replace("px",""):u.fontSize;return d.remove(),v.height+b*1.1*.5+a.padding},yon=function(i,a,u){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+u).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},aS={drawRect:KJ,drawCircle:hon,drawSection:don,drawText:PWe,drawLabel:fon,drawTask:gon,drawBackgroundRect:pon,getTextObj:bon,getNoteRect:mwe,initGraphics:mon,drawNode:von,getVirtualNodeHeight:won},xon=function(i,a,u,d){var X,pe;const p=qt(),v=p.leftMargin??50;Xe.debug("timeline",d.db);const b=p.securityLevel;let y;b==="sandbox"&&(y=Dr("#i"+a));const _=Dr(b==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const A=d.db.getTasks(),P=d.db.getCommonDb().getDiagramTitle();Xe.debug("task",A),aS.initGraphics(_);const R=d.db.getSections();Xe.debug("sections",R);let B=0,j=0,W=0,ee=0,ie=50+v,oe=50;ee=50;let be=0,ge=!0;R.forEach(function(G){const xe={number:be,descr:G,section:be,width:150,padding:20,maxHeight:B},U=aS.getVirtualNodeHeight(_,xe,p);Xe.debug("sectionHeight before draw",U),B=Math.max(B,U+20)});let ae=0,ne=0;Xe.debug("tasks.length",A.length);for(const[G,xe]of A.entries()){const U={number:G,descr:xe,section:xe.section,width:150,padding:20,maxHeight:j},Be=aS.getVirtualNodeHeight(_,U,p);Xe.debug("taskHeight before draw",Be),j=Math.max(j,Be+20),ae=Math.max(ae,xe.events.length);let Pe=0;for(let je=0;je0?R.forEach(G=>{const xe=A.filter(je=>je.section===G),U={number:be,descr:G,section:be,width:200*Math.max(xe.length,1)-50,padding:20,maxHeight:B};Xe.debug("sectionNode",U);const Be=_.append("g"),Pe=aS.drawNode(Be,U,be,p);Xe.debug("sectionNode output",Pe),Be.attr("transform",`translate(${ie}, ${ee})`),oe+=B+50,xe.length>0&&jWe(_,xe,be,ie,oe,j,p,ae,ne,B,!1),ie+=200*Math.max(xe.length,1),oe=ee,be++}):(ge=!1,jWe(_,A,be,ie,oe,j,p,ae,ne,B,!0));const se=_.node().getBBox();Xe.debug("bounds",se),P&&_.append("text").text(P).attr("x",se.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=ge?B+j+150:j+100,_.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",W).attr("x2",se.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),x9(void 0,_,((X=p.timeline)==null?void 0:X.padding)??50,((pe=p.timeline)==null?void 0:pe.useMaxWidth)??!1)},jWe=function(i,a,u,d,p,v,b,y,E,_,A){var P;for(const R of a){const B={descr:R.task,section:u,number:u,width:150,padding:20,maxHeight:v};Xe.debug("taskNode",B);const j=i.append("g").attr("class","taskWrapper"),ee=aS.drawNode(j,B,u,b).height;if(Xe.debug("taskHeight after draw",ee),j.attr("transform",`translate(${d}, ${p})`),v=Math.max(v,ee),R.events){const ie=i.append("g").attr("class","lineWrapper");let oe=v;p+=100,oe=oe+kon(i,R.events,u,d,p,b),p-=100,ie.append("line").attr("x1",d+190/2).attr("y1",p+v).attr("x2",d+190/2).attr("y2",p+v+(A?v:_)+E+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}d=d+200,A&&!((P=b.timeline)!=null&&P.disableMulticolor)&&u++}p=p-10},kon=function(i,a,u,d,p,v){let b=0;const y=p;p=p+100;for(const E of a){const _={descr:E,section:u,number:u,width:150,padding:20,maxHeight:50};Xe.debug("eventNode",_);const A=i.append("g").attr("class","eventWrapper"),R=aS.drawNode(A,_,u,v).height;b=b+R,A.attr("transform",`translate(${d}, ${p})`),p=p+10+R}return p=y,b},Ton={setConf:()=>{},draw:xon},Eon=i=>{let a="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${Eon(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var vwe=function(){var i=function(ge,ae,ne,se){for(ne=ne||{},se=ge.length;se--;ne[ge[se]]=ae);return ne},a=[1,4],u=[1,13],d=[1,12],p=[1,15],v=[1,16],b=[1,20],y=[1,19],E=[6,7,8],_=[1,26],A=[1,24],P=[1,25],R=[6,7,11],B=[1,6,13,15,16,19,22],j=[1,33],W=[1,34],ee=[1,6,7,11,13,15,16,19,22],ie={trace:function(){},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:function(ae,ne,se,de,X,pe,G){var xe=pe.length-1;switch(X){case 6:case 7:return de;case 8:de.getLogger().trace("Stop NL ");break;case 9:de.getLogger().trace("Stop EOF ");break;case 11:de.getLogger().trace("Stop NL2 ");break;case 12:de.getLogger().trace("Stop EOF2 ");break;case 15:de.getLogger().info("Node: ",pe[xe].id),de.addNode(pe[xe-1].length,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 16:de.getLogger().trace("Icon: ",pe[xe]),de.decorateNode({icon:pe[xe]});break;case 17:case 21:de.decorateNode({class:pe[xe]});break;case 18:de.getLogger().trace("SPACELIST");break;case 19:de.getLogger().trace("Node: ",pe[xe].id),de.addNode(0,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 20:de.decorateNode({icon:pe[xe]});break;case 25:de.getLogger().trace("node found ..",pe[xe-2]),this.$={id:pe[xe-1],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break;case 26:this.$={id:pe[xe],descr:pe[xe],type:de.nodeType.DEFAULT};break;case 27:de.getLogger().trace("node found ..",pe[xe-3]),this.$={id:pe[xe-3],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:u,7:[1,10],9:9,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(E,[2,3]),{1:[2,2]},i(E,[2,4]),i(E,[2,5]),{1:[2,6],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:u,9:22,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:_,7:A,10:23,11:P},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:y}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:A,10:32,11:P},{1:[2,7],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(B,[2,14],{7:j,11:W}),i(ee,[2,8]),i(ee,[2,9]),i(ee,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(B,[2,13],{7:j,11:W}),i(ee,[2,11]),i(ee,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ae,ne){if(ne.recoverable)this.trace(ae);else{var se=new Error(ae);throw se.hash=ne,se}},parse:function(ae){var ne=this,se=[0],de=[],X=[null],pe=[],G=this.table,xe="",U=0,Be=0,Pe=2,je=1,Ie=pe.slice.call(arguments,1),Se=Object.create(this.lexer),Ce={yy:{}};for(var ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ke)&&(Ce.yy[ke]=this.yy[ke]);Se.setInput(ae,Ce.yy),Ce.yy.lexer=Se,Ce.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ke=Se.yylloc;pe.push(Ke);var zt=Se.options&&Se.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var Nn;return Nn=de.pop()||Se.lex()||je,typeof Nn!="number"&&(Nn instanceof Array&&(de=Nn,Nn=de.pop()),Nn=ne.symbols_[Nn]||Nn),Nn}for(var pn,Tt,Et,Wt,un={},yt,Bt,Ze,Dt;;){if(Tt=se[se.length-1],this.defaultActions[Tt]?Et=this.defaultActions[Tt]:((pn===null||typeof pn>"u")&&(pn=Ne()),Et=G[Tt]&&G[Tt][pn]),typeof Et>"u"||!Et.length||!Et[0]){var kt="";Dt=[];for(yt in G[Tt])this.terminals_[yt]&&yt>Pe&&Dt.push("'"+this.terminals_[yt]+"'");Se.showPosition?kt="Parse error on line "+(U+1)+`: +`+Se.showPosition()+` +Expecting `+Dt.join(", ")+", got '"+(this.terminals_[pn]||pn)+"'":kt="Parse error on line "+(U+1)+": Unexpected "+(pn==je?"end of input":"'"+(this.terminals_[pn]||pn)+"'"),this.parseError(kt,{text:Se.match,token:this.terminals_[pn]||pn,line:Se.yylineno,loc:Ke,expected:Dt})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+pn);switch(Et[0]){case 1:se.push(pn),X.push(Se.yytext),pe.push(Se.yylloc),se.push(Et[1]),pn=null,Be=Se.yyleng,xe=Se.yytext,U=Se.yylineno,Ke=Se.yylloc;break;case 2:if(Bt=this.productions_[Et[1]][1],un.$=X[X.length-Bt],un._$={first_line:pe[pe.length-(Bt||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(Bt||1)].first_column,last_column:pe[pe.length-1].last_column},zt&&(un._$.range=[pe[pe.length-(Bt||1)].range[0],pe[pe.length-1].range[1]]),Wt=this.performAction.apply(un,[xe,Be,U,Ce.yy,Et[1],X,pe].concat(Ie)),typeof Wt<"u")return Wt;Bt&&(se=se.slice(0,-1*Bt*2),X=X.slice(0,-1*Bt),pe=pe.slice(0,-1*Bt)),se.push(this.productions_[Et[1]][0]),X.push(un.$),pe.push(un._$),Ze=G[se[se.length-2]][se[se.length-1]],se.push(Ze);break;case 3:return!0}}return!0}},oe=function(){var ge={EOF:1,parseError:function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},setInput:function(ae,ne){return this.yy=ne||this.yy||{},this._input=ae,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},input:function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var ne=ae.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ae},unput:function(ae){var ne=ae.length,se=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var de=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),se.length-1&&(this.yylineno-=se.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:se?(se.length===de.length?this.yylloc.first_column:0)+de[de.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(ae){this.unput(this.match.slice(ae))},pastInput:function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ae=this.pastInput(),ne=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+ne+"^"},test_match:function(ae,ne){var se,de,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))),de=ae[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,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(ae[0].length),this.matched+=ae[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var pe in X)this[pe]=X[pe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,ne,se,de;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pe=0;pene[0].length)){if(ne=se,de=pe,this.options.backtrack_lexer){if(ae=this.test_match(se,X[pe]),ae!==!1)return ae;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(ae=this.test_match(ne,X[de]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ne=this.next();return ne||this.lex()},begin:function(ne){this.conditionStack.push(ne)},popState:function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},pushState:function(ne){this.begin(ne)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ne,se,de,X){switch(de){case 0:return ne.getLogger().trace("Found comment",se.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:ne.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ne.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ne.getLogger().trace("end icon"),this.popState();break;case 10:return ne.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ne.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ne.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ne.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:ne.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ne.getLogger().trace("description:",se.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ne.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ne.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ne.getLogger().trace("node end ...",se.yytext),"NODE_DEND";case 30:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 35:return ne.getLogger().trace("Long description:",se.yytext),20;case 36:return ne.getLogger().trace("Long description:",se.yytext),20}},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 ge}();ie.lexer=oe;function be(){this.yy={}}return be.prototype=ie,ie.Parser=be,new be}();vwe.parser=vwe;const Son=vwe;let Q3=[],$We=0,wwe={};const _on=()=>{Q3=[],$We=0,wwe={}},Aon=function(i){for(let a=Q3.length-1;a>=0;a--)if(Q3[a].levelQ3.length>0?Q3[0]:null,Mon=(i,a,u,d)=>{var E,_;Xe.info("addNode",i,a,u,d);const p=qt();let v=((E=p.mindmap)==null?void 0:E.padding)??nh.mindmap.padding;switch(d){case v1.ROUNDED_RECT:case v1.RECT:case v1.HEXAGON:v*=2}const b={id:$We++,nodeId:bh(a,p),level:i,descr:bh(u,p),type:d,children:[],width:((_=p.mindmap)==null?void 0:_.maxNodeWidth)??nh.mindmap.maxNodeWidth,padding:v},y=Aon(i);if(y)y.children.push(b),Q3.push(b);else if(Q3.length===0)Q3.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},v1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Don={clear:_on,addNode:Mon,getMindmap:Lon,nodeType:v1,getType:(i,a)=>{switch(Xe.debug("In get type",i,a),i){case"[":return v1.RECT;case"(":return a===")"?v1.ROUNDED_RECT:v1.CLOUD;case"((":return v1.CIRCLE;case")":return v1.CLOUD;case"))":return v1.BANG;case"{{":return v1.HEXAGON;default:return v1.DEFAULT}},setElementForId:(i,a)=>{wwe[i]=a},decorateNode:i=>{if(!i)return;const a=qt(),u=Q3[Q3.length-1];i.icon&&(u.icon=bh(i.icon,a)),i.class&&(u.class=bh(i.class,a))},type2Str:i=>{switch(i){case v1.DEFAULT:return"no-border";case v1.RECT:return"rect";case v1.ROUNDED_RECT:return"rounded-rect";case v1.CIRCLE:return"circle";case v1.CLOUD:return"cloud";case v1.BANG:return"bang";case v1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Xe,getElementById:i=>wwe[i]};var zWe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){function u(x){"@babel/helpers - typeof";return u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},u(x)}function d(x,m){if(!(x instanceof m))throw new TypeError("Cannot call a class as a function")}function p(x,m){for(var k=0;kx.length)&&(m=x.length);for(var k=0,S=new Array(m);k"u"?null:window,j=B?B.navigator:null;B&&B.document;var W=u(""),ee=u({}),ie=u(function(){}),oe=typeof HTMLElement>"u"?"undefined":u(HTMLElement),be=function(m){return m&&m.instanceString&&ae(m.instanceString)?m.instanceString():null},ge=function(m){return m!=null&&u(m)==W},ae=function(m){return m!=null&&u(m)===ie},ne=function(m){return!xe(m)&&(Array.isArray?Array.isArray(m):m!=null&&m instanceof Array)},se=function(m){return m!=null&&u(m)===ee&&!ne(m)&&m.constructor===Object},de=function(m){return m!=null&&u(m)===ee},X=function(m){return m!=null&&u(m)===u(1)&&!isNaN(m)},pe=function(m){return X(m)&&Math.floor(m)===m},G=function(m){if(oe!=="undefined")return m!=null&&m instanceof HTMLElement},xe=function(m){return U(m)||Be(m)},U=function(m){return be(m)==="collection"&&m._private.single},Be=function(m){return be(m)==="collection"&&!m._private.single},Pe=function(m){return be(m)==="core"},je=function(m){return be(m)==="stylesheet"},Ie=function(m){return be(m)==="event"},Se=function(m){return m==null?!0:!!(m===""||m.match(/^\s+$/))},Ce=function(m){return typeof HTMLElement>"u"?!1:m instanceof HTMLElement},ke=function(m){return se(m)&&X(m.x1)&&X(m.x2)&&X(m.y1)&&X(m.y2)},Ke=function(m){return de(m)&&ae(m.then)},zt=function(){return j&&j.userAgent.match(/msie|trident|edge/i)},Ne=function(m,k){k||(k=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;Nk?1:0},qr=function(m,k){return-1*ht(m,k)},xt=Object.assign!=null?Object.assign.bind(Object):function(x){for(var m=arguments,k=1;k1&&(_e-=1),_e<1/6?me+(Le-me)*6*_e:_e<1/2?Le:_e<2/3?me+(Le-me)*(2/3-_e)*6:me}var Z=new RegExp("^"+Ze+"$").exec(m);if(Z){if(S=parseInt(Z[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,M=parseFloat(Z[2]),M<0||M>100||(M=M/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(M===0)$=H=q=Math.round(O*255);else{var ce=O<.5?O*(1+M):O+M-O*M,ve=2*O-ce;$=Math.round(255*Y(ve,ce,S+1/3)),H=Math.round(255*Y(ve,ce,S)),q=Math.round(255*Y(ve,ce,S-1/3))}k=[$,H,q,N]}return k},ia=function(m){var k,S=new RegExp("^"+yt+"$").exec(m);if(S){k=[];for(var M=[],O=1;O<=3;O++){var N=S[O];if(N[N.length-1]==="%"&&(M[O]=!0),N=parseFloat(N),M[O]&&(N=N/100*255),N<0||N>255)return;k.push(Math.floor(N))}var $=M[1]||M[2]||M[3],H=M[1]&&M[2]&&M[3];if($&&!H)return;var q=S[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;k.push(q)}}return k},Hs=function(m){return Tr[m.toLowerCase()]},mo=function(m){return(ne(m)?m:null)||Hs(m)||Ri(m)||ia(m)||wi(m)},Tr={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]},On=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O=m||Ye<0||Z&&vt>=O}function Te(){var st=uo();if(_e(st))return Fe(st);$=setTimeout(Te,Le(st))}function Fe(st){return $=void 0,ce&&S?ve(st):(S=M=void 0,N)}function Re(){$!==void 0&&clearTimeout($),q=0,S=H=M=$=void 0}function Ve(){return $===void 0?N:Fe(uo())}function ct(){var st=uo(),Ye=_e(st);if(S=arguments,M=this,H=st,Ye){if($===void 0)return me(H);if(Z)return clearTimeout($),$=setTimeout(Te,m),ve(H)}return $===void 0&&($=setTimeout(Te,m)),N}return ct.cancel=Re,ct.flush=Ve,ct}var Bo=gi,Ot=B?B.performance:null,zu=Ot&&Ot.now?function(){return Ot.now()}:function(){return Date.now()},Gt=function(){if(B){if(B.requestAnimationFrame)return function(x){B.requestAnimationFrame(x)};if(B.mozRequestAnimationFrame)return function(x){B.mozRequestAnimationFrame(x)};if(B.webkitRequestAnimationFrame)return function(x){B.webkitRequestAnimationFrame(x)};if(B.msRequestAnimationFrame)return function(x){B.msRequestAnimationFrame(x)}}return function(x){x&&setTimeout(function(){x(zu())},1e3/60)}}(),Wh=function(m){return Gt(m)},Vp=zu,J3=9261,q9=65599,l5=5381,Th=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J3,S=k,M;M=m.next(),!M.done;)S=S*q9+M.value|0;return S},Vg=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J3;return k*q9+m|0},Em=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l5;return(k<<5)+k+m|0},H9=function(m,k){return m*2097152+k},Cm=function(m){return m[0]*2097152+m[1]},h5=function(m,k){return[Vg(m[0],k[0]),Em(m[1],k[1])]},y1=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M=0&&!(m[M]===k&&(m.splice(M,1),S));M--);},uS=function(m){m.splice(0,m.length)},bj=function(m,k){for(var S=0;S"u"?"undefined":u(Set))!==iZ?Set:sZ,lS=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(m===void 0||k===void 0||!Pe(m)){sh("An element must have a core reference and parameters set");return}var M=k.group;if(M==null&&(k.data&&k.data.source!=null&&k.data.target!=null?M="edges":M="nodes"),M!=="nodes"&&M!=="edges"){sh("An element must be of type `nodes` or `edges`; you specified `"+M+"`");return}this.length=1,this[0]=this;var O=this._private={cy:m,single:!0,data:k.data||{},position:k.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:M,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!k.selected,selectable:k.selectable===void 0?!0:!!k.selectable,locked:!!k.locked,grabbed:!1,grabbable:k.grabbable===void 0?!0:!!k.grabbable,pannable:k.pannable===void 0?M==="edges":!!k.pannable,active:!1,classes:new J7,animation:{current:[],queue:[]},rscratch:{},scratch:k.scratch||{},edges:[],children:[],parent:k.parent&&k.parent.isNode()?k.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(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),k.renderedPosition){var N=k.renderedPosition,$=m.pan(),H=m.zoom();O.position={x:(N.x-$.x)/H,y:(N.y-$.y)/H}}var q=[];ne(k.classes)?q=k.classes:ge(k.classes)&&(q=k.classes.split(/\s+/));for(var Y=0,Z=q.length;YFe?1:0},Y=function(Te,Fe,Re,Ve,ct){var st;if(Re==null&&(Re=0),ct==null&&(ct=S),Re<0)throw new Error("lo must be non-negative");for(Ve==null&&(Ve=Te.length);ReLt;0<=Lt?Qe++:Qe--)vt.push(Qe);return vt}).apply(this).reverse(),Ye=[],Ve=0,ct=st.length;VeMt;0<=Mt?++vt:--vt)ut.push(N(Te,Re));return ut},Le=function(Te,Fe,Re,Ve){var ct,st,Ye;for(Ve==null&&(Ve=S),ct=Te[Re];Re>Fe;){if(Ye=Re-1>>1,st=Te[Ye],Ve(ct,st)<0){Te[Re]=st,Re=Ye;continue}break}return Te[Re]=ct},_e=function(Te,Fe,Re){var Ve,ct,st,Ye,vt;for(Re==null&&(Re=S),ct=Te.length,vt=Fe,st=Te[Fe],Ve=2*Fe+1;Ve0;){var st=Fe.pop(),Ye=_e(st),vt=st.id();if(ce[vt]=Ye,Ye!==1/0)for(var Qe=st.neighborhood().intersect(me),Lt=0;Lt0)for(Dn.unshift(Xt);Z[mr];){var Pn=Z[mr];Dn.unshift(Pn.edge),Dn.unshift(Pn.node),rr=Pn.node,mr=rr.id()}return $.spawn(Dn)}}}},uZ={kruskal:function(m){m=m||function(Re){return 1};for(var k=this.byGroup(),S=k.nodes,M=k.edges,O=S.length,N=new Array(O),$=S,H=function(Ve){for(var ct=0;ct0;){if(ct(),Ye++,Ve===Y){for(var vt=[],Qe=O,Lt=Y,Mt=Te[Lt];vt.unshift(Qe),Mt!=null&&vt.unshift(Mt),Qe=_e[Lt],Qe!=null;)Lt=Qe.id(),Mt=Te[Lt];return{found:!0,distance:Z[Ve],path:this.spawn(vt),steps:Ye}}ve[Ve]=!0;for(var ut=Re._private.edges,Yt=0;YtMt&&(me[Lt]=Mt,Fe[Lt]=Qe,Re[Lt]=ct),!O){var ut=Qe*Y+vt;!O&&me[ut]>Mt&&(me[ut]=Mt,Fe[ut]=vt,Re[ut]=ct)}}}for(var Yt=0;Yt1&&arguments[1]!==void 0?arguments[1]:N,vo=Re(ks),ja=[],Ma=vo;;){if(Ma==null)return k.spawn();var Fo=Fe(Ma),er=Fo.edge,K=Fo.pred;if(ja.unshift(Ma[0]),Ma.same(Rs)&&ja.length>0)break;er!=null&&ja.unshift(er),Ma=K}return H.spawn(ja)},st=0;st=0;Y--){var Z=q[Y],ce=Z[1],ve=Z[2];(k[ce]===$&&k[ve]===H||k[ce]===H&&k[ve]===$)&&q.splice(Y,1)}for(var me=0;meM;){var O=Math.floor(Math.random()*k.length);k=mZ(O,m,k),S--}return k},vZ={kargerStein:function(){var m=this,k=this.byGroup(),S=k.nodes,M=k.edges;M.unmergeBy(function(Dn){return Dn.isLoop()});var O=S.length,N=M.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/bZ);if(O<2){sh("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],Y=0;Y1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=-1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=0,O=0,N=k;N1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;M?m=m.slice(k,S):(S0&&m.splice(0,k));for(var $=0,H=m.length-1;H>=0;H--){var q=m[H];N?isFinite(q)||(m[H]=-1/0,$++):m.splice(H,1)}O&&m.sort(function(ce,ve){return ce-ve});var Y=m.length,Z=Math.floor(Y/2);return Y%2!==0?m[Z+1+$]:(m[Z-1+$]+m[Z+$])/2},EZ=function(m){return Math.PI*m/180},fS=function(m,k){return Math.atan2(k,m)-Math.PI/2},fI=Math.log2||function(x){return Math.log(x)/Math.log(2)},wj=function(m){return m>0?1:m<0?-1:0},d5=function(m,k){return Math.sqrt(g5(m,k))},g5=function(m,k){var S=k.x-m.x,M=k.y-m.y;return S*S+M*M},CZ=function(m){for(var k=m.length,S=0,M=0;M=m.x1&&m.y2>=m.y1)return{x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,w:m.x2-m.x1,h:m.y2-m.y1};if(m.w!=null&&m.h!=null&&m.w>=0&&m.h>=0)return{x1:m.x1,y1:m.y1,x2:m.x1+m.w,y2:m.y1+m.h,w:m.w,h:m.h}}},_Z=function(m){return{x1:m.x1,x2:m.x2,w:m.w,y1:m.y1,y2:m.y2,h:m.h}},AZ=function(m){m.x1=1/0,m.y1=1/0,m.x2=-1/0,m.y2=-1/0,m.w=0,m.h=0},LZ=function(m,k,S){return{x1:m.x1+k,x2:m.x2+k,y1:m.y1+S,y2:m.y2+S,w:m.w,h:m.h}},yj=function(m,k){m.x1=Math.min(m.x1,k.x1),m.x2=Math.max(m.x2,k.x2),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,k.y1),m.y2=Math.max(m.y2,k.y2),m.h=m.y2-m.y1},MZ=function(m,k,S){m.x1=Math.min(m.x1,k),m.x2=Math.max(m.x2,k),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,S),m.y2=Math.max(m.y2,S),m.h=m.y2-m.y1},dS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m.x1-=k,m.x2+=k,m.y1-=k,m.y2+=k,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},gS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],S,M,O,N;if(k.length===1)S=M=O=N=k[0];else if(k.length===2)S=O=k[0],N=M=k[1];else if(k.length===4){var $=y(k,4);S=$[0],M=$[1],O=$[2],N=$[3]}return m.x1-=N,m.x2+=M,m.y1-=S,m.y2+=O,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},xj=function(m,k){m.x1=k.x1,m.y1=k.y1,m.x2=k.x2,m.y2=k.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1},dI=function(m,k){return!(m.x1>k.x2||k.x1>m.x2||m.x2k.y2||k.y1>m.y2)},t8=function(m,k,S){return m.x1<=k&&k<=m.x2&&m.y1<=S&&S<=m.y2},DZ=function(m,k){return t8(m,k.x,k.y)},kj=function(m,k){return t8(m,k.x1,k.y1)&&t8(m,k.x2,k.y2)},Tj=function(m,k,S,M,O,N,$){var H=X9(O,N),q=O/2,Y=N/2,Z;{var ce=S-q+H-$,ve=M-Y-$,me=S+q-H+$,Le=ve;if(Z=ny(m,k,S,M,ce,ve,me,Le,!1),Z.length>0)return Z}{var _e=S+q+$,Te=M-Y+H-$,Fe=_e,Re=M+Y-H+$;if(Z=ny(m,k,S,M,_e,Te,Fe,Re,!1),Z.length>0)return Z}{var Ve=S-q+H-$,ct=M+Y+$,st=S+q-H+$,Ye=ct;if(Z=ny(m,k,S,M,Ve,ct,st,Ye,!1),Z.length>0)return Z}{var vt=S-q-$,Qe=M-Y+H-$,Lt=vt,Mt=M+Y-H+$;if(Z=ny(m,k,S,M,vt,Qe,Lt,Mt,!1),Z.length>0)return Z}var ut;{var Yt=S-q+H,St=M-Y+H;if(ut=W9(m,k,S,M,Yt,St,H+$),ut.length>0&&ut[0]<=Yt&&ut[1]<=St)return[ut[0],ut[1]]}{var _n=S+q-H,fn=M-Y+H;if(ut=W9(m,k,S,M,_n,fn,H+$),ut.length>0&&ut[0]>=_n&&ut[1]<=fn)return[ut[0],ut[1]]}{var Xt=S+q-H,Dn=M+Y-H;if(ut=W9(m,k,S,M,Xt,Dn,H+$),ut.length>0&&ut[0]>=Xt&&ut[1]>=Dn)return[ut[0],ut[1]]}{var rr=S-q+H,mr=M+Y-H;if(ut=W9(m,k,S,M,rr,mr,H+$),ut.length>0&&ut[0]<=rr&&ut[1]>=mr)return[ut[0],ut[1]]}return[]},IZ=function(m,k,S,M,O,N,$){var H=$,q=Math.min(S,O),Y=Math.max(S,O),Z=Math.min(M,N),ce=Math.max(M,N);return q-H<=m&&m<=Y+H&&Z-H<=k&&k<=ce+H},OZ=function(m,k,S,M,O,N,$,H,q){var Y={x1:Math.min(S,$,O)-q,x2:Math.max(S,$,O)+q,y1:Math.min(M,H,N)-q,y2:Math.max(M,H,N)+q};return!(mY.x2||kY.y2)},NZ=function(m,k,S,M){S-=M;var O=k*k-4*m*S;if(O<0)return[];var N=Math.sqrt(O),$=2*m,H=(-k+N)/$,q=(-k-N)/$;return[H,q]},PZ=function(m,k,S,M,O){var N=1e-5;m===0&&(m=N),k/=m,S/=m,M/=m;var $,H,q,Y,Z,ce,ve,me;if(H=(3*S-k*k)/9,q=-(27*M)+k*(9*S-2*(k*k)),q/=54,$=H*H*H+q*q,O[1]=0,ve=k/3,$>0){Z=q+Math.sqrt($),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),ce=q-Math.sqrt($),ce=ce<0?-Math.pow(-ce,1/3):Math.pow(ce,1/3),O[0]=-ve+Z+ce,ve+=(Z+ce)/2,O[4]=O[2]=-ve,ve=Math.sqrt(3)*(-ce+Z)/2,O[3]=ve,O[5]=-ve;return}if(O[5]=O[3]=0,$===0){me=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-ve+2*me,O[4]=O[2]=-(me+ve);return}H=-H,Y=H*H*H,Y=Math.acos(q/Math.sqrt(Y)),me=2*Math.sqrt(H),O[0]=-ve+me*Math.cos(Y/3),O[2]=-ve+me*Math.cos((Y+2*Math.PI)/3),O[4]=-ve+me*Math.cos((Y+4*Math.PI)/3)},BZ=function(m,k,S,M,O,N,$,H){var q=1*S*S-4*S*O+2*S*$+4*O*O-4*O*$+$*$+M*M-4*M*N+2*M*H+4*N*N-4*N*H+H*H,Y=1*9*S*O-3*S*S-3*S*$-6*O*O+3*O*$+9*M*N-3*M*M-3*M*H-6*N*N+3*N*H,Z=1*3*S*S-6*S*O+S*$-S*m+2*O*O+2*O*m-$*m+3*M*M-6*M*N+M*H-M*k+2*N*N+2*N*k-H*k,ce=1*S*O-S*S+S*m-O*m+M*N-M*M+M*k-N*k,ve=[];PZ(q,Y,Z,ce,ve);for(var me=1e-7,Le=[],_e=0;_e<6;_e+=2)Math.abs(ve[_e+1])=0&&ve[_e]<=1&&Le.push(ve[_e]);Le.push(1),Le.push(0);for(var Te=-1,Fe,Re,Ve,ct=0;ct=0?Veq?(m-O)*(m-O)+(k-N)*(k-N):Y-ce},Jd=function(m,k,S){for(var M,O,N,$,H,q=0,Y=0;Y=m&&m>=N||M<=m&&m<=N)H=(m-M)/(N-M)*($-O)+O,H>k&&q++;else continue;return q%2!==0},Jv=function(m,k,S,M,O,N,$,H,q){var Y=new Array(S.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var ce=Math.cos(-Z),ve=Math.sin(-Z),me=0;me0){var _e=bS(Y,-q);Le=pS(_e)}else Le=Y;return Jd(m,k,Le)},RZ=function(m,k,S,M,O,N,$){for(var H=new Array(S.length),q=N/2,Y=$/2,Z=bI(N,$),ce=Z*Z,ve=0;ve=0&&_e<=1&&Fe.push(_e),Te>=0&&Te<=1&&Fe.push(Te),Fe.length===0)return[];var Re=Fe[0]*H[0]+m,Ve=Fe[0]*H[1]+k;if(Fe.length>1){if(Fe[0]==Fe[1])return[Re,Ve];var ct=Fe[1]*H[0]+m,st=Fe[1]*H[1]+k;return[Re,Ve,ct,st]}else return[Re,Ve]},gI=function(m,k,S){return k<=m&&m<=S||S<=m&&m<=k?m:m<=k&&k<=S||S<=k&&k<=m?k:S},ny=function(m,k,S,M,O,N,$,H,q){var Y=m-O,Z=S-m,ce=$-O,ve=k-N,me=M-k,Le=H-N,_e=ce*ve-Le*Y,Te=Z*ve-me*Y,Fe=Le*Z-ce*me;if(Fe!==0){var Re=_e/Fe,Ve=Te/Fe,ct=.001,st=0-ct,Ye=1+ct;return st<=Re&&Re<=Ye&&st<=Ve&&Ve<=Ye?[m+Re*Z,k+Re*me]:q?[m+Re*Z,k+Re*me]:[]}else return _e===0||Te===0?gI(m,S,$)===$?[$,H]:gI(m,S,O)===O?[O,N]:gI(O,$,S)===S?[S,M]:[]:[]},Y9=function(m,k,S,M,O,N,$,H){var q=[],Y,Z=new Array(S.length),ce=!0;N==null&&(ce=!1);var ve;if(ce){for(var me=0;me0){var Le=bS(Z,-H);ve=pS(Le)}else ve=Z}else ve=S;for(var _e,Te,Fe,Re,Ve=0;Ve2){for(var fn=[q[0],q[1]],Xt=Math.pow(fn[0]-m,2)+Math.pow(fn[1]-k,2),Dn=1;DnY&&(Y=Ve)},get:function(Re){return q[Re]}},ce=0;ce<$.length;ce++){var ve=$[ce],me=ve.id();S?H[me]=ve.outgoers().nodes():H[me]=ve.openNeighborhood().nodes(),Z.set(me,0)}for(var Le=function(Re){for(var Ve=$[Re].id(),ct=[],st={},Ye={},vt={},Qe=new G9(function(Er,Ir){return vt[Er]-vt[Ir]}),Lt=0;Lt<$.length;Lt++){var Mt=$[Lt].id();st[Mt]=[],Ye[Mt]=0,vt[Mt]=1/0}for(Ye[Ve]=1,vt[Ve]=0,Qe.push(Ve);!Qe.empty();){var ut=Qe.pop();if(ct.push(ut),O)for(var Yt=0;Yt0?fn=_n.edgesTo(St)[0]:fn=St.edgesTo(_n)[0];var Xt=M(fn);St=St.id(),vt[St]>vt[ut]+Xt&&(vt[St]=vt[ut]+Xt,Qe.nodes.indexOf(St)<0?Qe.push(St):Qe.updateItem(St),Ye[St]=0,st[St]=[]),vt[St]==vt[ut]+Xt&&(Ye[St]=Ye[St]+Ye[ut],st[St].push(ut))}else for(var Dn=0;Dn0;){for(var gr=ct.pop(),kr=0;kr0&&$.push(S[H]);$.length!==0&&O.push(M.collection($))}return O},ZZ=function(m,k){for(var S=0;S5&&arguments[5]!==void 0?arguments[5]:nee,$=M,H,q,Y=0;Y=2?Q9(m,k,S,0,Oj,ree):Q9(m,k,S,0,Ij)},squaredEuclidean:function(m,k,S){return Q9(m,k,S,0,Oj)},manhattan:function(m,k,S){return Q9(m,k,S,0,Ij)},max:function(m,k,S){return Q9(m,k,S,-1/0,iee)}};i8["squared-euclidean"]=i8.squaredEuclidean,i8.squaredeuclidean=i8.squaredEuclidean;function vS(x,m,k,S,M,O){var N;return ae(x)?N=x:N=i8[x]||i8.euclidean,m===0&&ae(x)?N(M,O):N(m,k,S,M,O)}var see=z0({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),wI=function(m){return see(m)},wS=function(m,k,S,M,O){var N=O!=="kMedoids",$=N?function(Z){return S[Z]}:function(Z){return M[Z](S)},H=function(ce){return M[ce](k)},q=S,Y=k;return vS(m,M.length,$,H,q,Y)},yI=function(m,k,S){for(var M=S.length,O=new Array(M),N=new Array(M),$=new Array(k),H=null,q=0;qS)return!1}return!0},cee=function(m,k,S){for(var M=0;M$&&($=k[q][Y],H=Y);O[H].push(m[q])}for(var Z=0;Z=O.threshold||O.mode==="dendrogram"&&m.length===1)return!1;var me=k[N],Le=k[M[N]],_e;O.mode==="dendrogram"?_e={left:me,right:Le,key:me.key}:_e={value:me.value.concat(Le.value),key:me.key},m[me.index]=_e,m.splice(Le.index,1),k[me.key]=_e;for(var Te=0;TeS[Le.key][Fe.key]&&(H=S[Le.key][Fe.key])):O.linkage==="max"?(H=S[me.key][Fe.key],S[me.key][Fe.key]0&&M.push(O);return M},zj=function(m,k,S){for(var M=[],O=0;O$&&(N=q,$=k[O*m+q])}N>0&&M.push(N)}for(var Y=0;Yq&&(H=Y,q=Z)}S[O]=N[H]}return M=zj(m,k,S),M},qj=function(m){for(var k=this.cy(),S=this.nodes(),M=kee(m),O={},N=0;N=Mt?(ut=Mt,Mt=St,Yt=_n):St>ut&&(ut=St);for(var fn=0;fn<$;fn++)Z[Lt*$+fn]=(1-M.damping)*(q[Lt*$+fn]-Mt)+M.damping*Re[fn];Z[Lt*$+Yt]=(1-M.damping)*(q[Lt*$+Yt]-ut)+M.damping*Re[Yt]}for(var Xt=0;Xt<$;Xt++){for(var Dn=0,rr=0;rr<$;rr++)Re[rr]=ce[rr*$+Xt],Ve[rr]=Math.max(0,Z[rr*$+Xt]),Dn+=Ve[rr];Dn-=Ve[Xt],Ve[Xt]=Z[Xt*$+Xt],Dn+=Ve[Xt];for(var mr=0;mr<$;mr++)ce[mr*$+Xt]=(1-M.damping)*Math.min(0,Dn-Ve[mr])+M.damping*Re[mr];ce[Xt*$+Xt]=(1-M.damping)*(Dn-Ve[Xt])+M.damping*Re[Xt]}for(var Pn=0,gr=0;gr<$;gr++){var kr=ce[gr*$+gr]+Z[gr*$+gr]>0?1:0;Ye[Qe%M.minIterations*$+gr]=kr,Pn+=kr}if(Pn>0&&(Qe>=M.minIterations-1||Qe==M.maxIterations-1)){for(var Lr=0,Er=0;Er<$;Er++){ct[Er]=0;for(var Ir=0;Ir1||st>1)&&($=!0),Z[Re]=[],Fe.outgoers().forEach(function(vt){vt.isEdge()&&Z[Re].push(vt.id())})}else ce[Re]=[void 0,Fe.target().id()]}):N.forEach(function(Fe){var Re=Fe.id();if(Fe.isNode()){var Ve=Fe.degree(!0);Ve%2&&(H?q?$=!0:q=Re:H=Re),Z[Re]=[],Fe.connectedEdges().forEach(function(ct){return Z[Re].push(ct.id())})}else ce[Re]=[Fe.source().id(),Fe.target().id()]});var ve={found:!1,trail:void 0};if($)return ve;if(q&&H)if(O){if(Y&&q!=Y)return ve;Y=q}else{if(Y&&q!=Y&&H!=Y)return ve;Y||(Y=q)}else Y||(Y=N[0].id());var me=function(Re){for(var Ve=Re,ct=[Re],st,Ye,vt;Z[Ve].length;)st=Z[Ve].shift(),Ye=ce[st][0],vt=ce[st][1],Ve!=vt?(Z[vt]=Z[vt].filter(function(Qe){return Qe!=st}),Ve=vt):!O&&Ve!=Ye&&(Z[Ye]=Z[Ye].filter(function(Qe){return Qe!=st}),Ve=Ye),ct.unshift(st),ct.unshift(Ve);return ct},Le=[],_e=[];for(_e=me(Y);_e.length!=1;)Z[_e[0]].length==0?(Le.unshift(N.getElementById(_e.shift())),Le.unshift(N.getElementById(_e.shift()))):_e=me(_e.shift()).concat(_e);Le.unshift(N.getElementById(_e.shift()));for(var Te in Z)if(Z[Te].length)return ve;return ve.found=!0,ve.trail=this.spawn(Le,!0),ve}},xS=function(){var m=this,k={},S=0,M=0,O=[],N=[],$={},H=function(ce,ve){for(var me=N.length-1,Le=[],_e=m.spawn();N[me].x!=ce||N[me].y!=ve;)Le.push(N.pop().edge),me--;Le.push(N.pop().edge),Le.forEach(function(Te){var Fe=Te.connectedNodes().intersection(m);_e.merge(Te),Fe.forEach(function(Re){var Ve=Re.id(),ct=Re.connectedEdges().intersection(m);_e.merge(Re),k[Ve].cutVertex?_e.merge(ct.filter(function(st){return st.isLoop()})):_e.merge(ct)})}),O.push(_e)},q=function Z(ce,ve,me){ce===me&&(M+=1),k[ve]={id:S,low:S++,cutVertex:!1};var Le=m.getElementById(ve).connectedEdges().intersection(m);if(Le.size()===0)O.push(m.spawn(m.getElementById(ve)));else{var _e,Te,Fe,Re;Le.forEach(function(Ve){_e=Ve.source().id(),Te=Ve.target().id(),Fe=_e===ve?Te:_e,Fe!==me&&(Re=Ve.id(),$[Re]||($[Re]=!0,N.push({x:ve,y:Fe,edge:Ve})),Fe in k?k[ve].low=Math.min(k[ve].low,k[Fe].id):(Z(ce,Fe,ve),k[ve].low=Math.min(k[ve].low,k[Fe].low),k[ve].id<=k[Fe].low&&(k[ve].cutVertex=!0,H(ve,Fe))))})}};m.forEach(function(Z){if(Z.isNode()){var ce=Z.id();ce in k||(M=0,q(ce,ce),k[ce].cutVertex=M>1)}});var Y=Object.keys(k).filter(function(Z){return k[Z].cutVertex}).map(function(Z){return m.getElementById(Z)});return{cut:m.spawn(Y),components:O}},Mee={hopcroftTarjanBiconnected:xS,htbc:xS,htb:xS,hopcroftTarjanBiconnectedComponents:xS},kS=function(){var m=this,k={},S=0,M=[],O=[],N=m.spawn(m),$=function H(q){O.push(q),k[q]={index:S,low:S++,explored:!1};var Y=m.getElementById(q).connectedEdges().intersection(m);if(Y.forEach(function(Le){var _e=Le.target().id();_e!==q&&(_e in k||H(_e),k[_e].explored||(k[q].low=Math.min(k[q].low,k[_e].low)))}),k[q].index===k[q].low){for(var Z=m.spawn();;){var ce=O.pop();if(Z.merge(m.getElementById(ce)),k[ce].low=k[q].index,k[ce].explored=!0,ce===q)break}var ve=Z.edgesWith(Z),me=Z.merge(ve);M.push(me),N=N.difference(me)}};return m.forEach(function(H){if(H.isNode()){var q=H.id();q in k||$(q)}}),{cut:N,components:M}},Dee={tarjanStronglyConnected:kS,tsc:kS,tscc:kS,tarjanStronglyConnectedComponents:kS},Hj={};[V9,cZ,uZ,hZ,dZ,pZ,vZ,HZ,n8,r8,vI,tee,gee,yee,_ee,Lee,Mee,Dee].forEach(function(x){xt(Hj,x)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Uj=0,Vj=1,Gj=2,Zv=function x(m){if(!(this instanceof x))return new x(m);this.id="Thenable/1.0.7",this.state=Uj,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof m=="function"&&m.call(this,this.fulfill.bind(this),this.reject.bind(this))};Zv.prototype={fulfill:function(m){return Kj(this,Vj,"fulfillValue",m)},reject:function(m){return Kj(this,Gj,"rejectReason",m)},then:function(m,k){var S=this,M=new Zv;return S.onFulfilled.push(Xj(m,M,"fulfill")),S.onRejected.push(Xj(k,M,"reject")),Wj(S),M.proxy}};var Kj=function(m,k,S,M){return m.state===Uj&&(m.state=k,m[S]=M,Wj(m)),m},Wj=function(m){m.state===Vj?Yj(m,"onFulfilled",m.fulfillValue):m.state===Gj&&Yj(m,"onRejected",m.rejectReason)},Yj=function(m,k,S){if(m[k].length!==0){var M=m[k];m[k]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N-1}var Ite=Dte;function Ote(x,m){var k=this.__data__,S=CS(k,x);return S<0?(++this.size,k.push([x,m])):k[S][1]=m,this}var Nte=Ote;function o8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m-1&&x%1==0&&x0&&this.spawn(M).updateStyle().emit("class"),k},addClass:function(m){return this.toggleClass(m,!0)},hasClass:function(m){var k=this[0];return k!=null&&k._private.classes.has(m)},toggleClass:function(m,k){ne(m)||(m=m.match(/\S+/g)||[]);for(var S=this,M=k===void 0,O=[],N=0,$=S.length;N<$;N++)for(var H=S[N],q=H._private.classes,Y=!1,Z=0;Z0&&this.spawn(O).updateStyle().emit("class"),S},removeClass:function(m){return this.toggleClass(m,!1)},flashClass:function(m,k){var S=this;if(k==null)k=250;else if(k===0)return S;return S.addClass(m),setTimeout(function(){S.removeClass(m)},k),S}};_S.className=_S.classNames=_S.classes;var $c={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:un,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};$c.variable="(?:[\\w-.]|(?:\\\\"+$c.metaChar+"))+",$c.className="(?:[\\w-]|(?:\\\\"+$c.metaChar+"))+",$c.value=$c.string+"|"+$c.number,$c.id=$c.variable,function(){var x,m,k;for(x=$c.comparatorOp.split("|"),k=0;k=0)&&m!=="="&&($c.comparatorOp+="|\\!"+m)}();var Nu=function(){return{checks:[]}},hs={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},CI=[{selector:":selected",matches:function(m){return m.selected()}},{selector:":unselected",matches:function(m){return!m.selected()}},{selector:":selectable",matches:function(m){return m.selectable()}},{selector:":unselectable",matches:function(m){return!m.selectable()}},{selector:":locked",matches:function(m){return m.locked()}},{selector:":unlocked",matches:function(m){return!m.locked()}},{selector:":visible",matches:function(m){return m.visible()}},{selector:":hidden",matches:function(m){return!m.visible()}},{selector:":transparent",matches:function(m){return m.transparent()}},{selector:":grabbed",matches:function(m){return m.grabbed()}},{selector:":free",matches:function(m){return!m.grabbed()}},{selector:":removed",matches:function(m){return m.removed()}},{selector:":inside",matches:function(m){return!m.removed()}},{selector:":grabbable",matches:function(m){return m.grabbable()}},{selector:":ungrabbable",matches:function(m){return!m.grabbable()}},{selector:":animated",matches:function(m){return m.animated()}},{selector:":unanimated",matches:function(m){return!m.animated()}},{selector:":parent",matches:function(m){return m.isParent()}},{selector:":childless",matches:function(m){return m.isChildless()}},{selector:":child",matches:function(m){return m.isChild()}},{selector:":orphan",matches:function(m){return m.isOrphan()}},{selector:":nonorphan",matches:function(m){return m.isChild()}},{selector:":compound",matches:function(m){return m.isNode()?m.isParent():m.source().isParent()||m.target().isParent()}},{selector:":loop",matches:function(m){return m.isLoop()}},{selector:":simple",matches:function(m){return m.isSimple()}},{selector:":active",matches:function(m){return m.active()}},{selector:":inactive",matches:function(m){return!m.active()}},{selector:":backgrounding",matches:function(m){return m.backgrounding()}},{selector:":nonbackgrounding",matches:function(m){return!m.backgrounding()}}].sort(function(x,m){return qr(x.selector,m.selector)}),Fne=function(){for(var x={},m,k=0;k0&&Y.edgeCount>0)return lu("The selector `"+m+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(Y.edgeCount>1)return lu("The selector `"+m+"` is invalid because it uses multiple edge selectors"),!1;Y.edgeCount===1&&lu("The selector `"+m+"` 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},qne=function(){if(this.toStringCache!=null)return this.toStringCache;for(var m=function(Y){return Y??""},k=function(Y){return ge(Y)?'"'+Y+'"':m(Y)},S=function(Y){return" "+Y+" "},M=function(Y,Z){var ce=Y.type,ve=Y.value;switch(ce){case hs.GROUP:{var me=m(ve);return me.substring(0,me.length-1)}case hs.DATA_COMPARE:{var Le=Y.field,_e=Y.operator;return"["+Le+S(m(_e))+k(ve)+"]"}case hs.DATA_BOOL:{var Te=Y.operator,Fe=Y.field;return"["+m(Te)+Fe+"]"}case hs.DATA_EXIST:{var Re=Y.field;return"["+Re+"]"}case hs.META_COMPARE:{var Ve=Y.operator,ct=Y.field;return"[["+ct+S(m(Ve))+k(ve)+"]]"}case hs.STATE:return ve;case hs.ID:return"#"+ve;case hs.CLASS:return"."+ve;case hs.PARENT:case hs.CHILD:return O(Y.parent,Z)+S(">")+O(Y.child,Z);case hs.ANCESTOR:case hs.DESCENDANT:return O(Y.ancestor,Z)+" "+O(Y.descendant,Z);case hs.COMPOUND_SPLIT:{var st=O(Y.left,Z),Ye=O(Y.subject,Z),vt=O(Y.right,Z);return st+(st.length>0?" ":"")+Ye+vt}case hs.TRUE:return""}},O=function(Y,Z){return Y.checks.reduce(function(ce,ve,me){return ce+(Z===Y&&me===0?"$":"")+M(ve,Z)},"")},N="",$=0;$1&&$=0&&(k=k.replace("!",""),Z=!0),k.indexOf("@")>=0&&(k=k.replace("@",""),Y=!0),(O||$||Y)&&(H=!O&&!N?"":""+m,q=""+S),Y&&(m=H=H.toLowerCase(),S=q=q.toLowerCase()),k){case"*=":M=H.indexOf(q)>=0;break;case"$=":M=H.indexOf(q,H.length-q.length)>=0;break;case"^=":M=H.indexOf(q)===0;break;case"=":M=m===S;break;case">":ce=!0,M=m>S;break;case">=":ce=!0,M=m>=S;break;case"<":ce=!0,M=m0;){var Y=M.shift();m(Y),O.add(Y.id()),$&&S(M,O,Y)}return x}function m$(x,m,k){if(k.isParent())for(var S=k._private.children,M=0;M1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,m$)};function v$(x,m,k){if(k.isChild()){var S=k._private.parent;m.has(S.id())||x.push(S)}}l8.forEachUp=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,v$)};function Yne(x,m,k){v$(x,m,k),m$(x,m,k)}l8.forEachUpAndDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,Yne)},l8.ancestors=l8.parents;var x1,w$;x1=w$={data:hu.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:hu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:hu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:hu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:hu.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:hu.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var m=this[0];if(m)return m._private.data.id}},x1.attr=x1.data,x1.removeAttr=x1.removeData;var sy=w$,ek={};function LI(x){return function(m){var k=this;if(m===void 0&&(m=!0),k.length!==0)if(k.isNode()&&!k.removed()){for(var S=0,M=k[0],O=M._private.edges,N=0;Nm}),minIndegree:h8("indegree",function(x,m){return xm}),minOutdegree:h8("outdegree",function(x,m){return xm})}),xt(ek,{totalDegree:function(m){for(var k=0,S=this.nodes(),M=0;M0,ce=Z;Z&&(Y=Y[0]);var ve=ce?Y.position():{x:0,y:0};k!==void 0?q.position(m,k+ve[m]):O!==void 0&&q.position({x:O.x+ve.x,y:O.y+ve.y})}else{var me=S.position(),Le=$?S.parent():null,_e=Le&&Le.length>0,Te=_e;_e&&(Le=Le[0]);var Fe=Te?Le.position():{x:0,y:0};return O={x:me.x-Fe.x,y:me.y-Fe.y},m===void 0?O:O[m]}else if(!N)return;return this}},rb.modelPosition=rb.point=rb.position,rb.modelPositions=rb.points=rb.positions,rb.renderedPoint=rb.renderedPosition,rb.relativePoint=rb.relativePosition;var Xne=y$,f8,ay;f8=ay={},ay.renderedBoundingBox=function(x){var m=this.boundingBox(x),k=this.cy(),S=k.zoom(),M=k.pan(),O=m.x1*S+M.x,N=m.x2*S+M.x,$=m.y1*S+M.y,H=m.y2*S+M.y;return{x1:O,x2:N,y1:$,y2:H,w:N-O,h:H-$}},ay.dirtyCompoundBoundsCache=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();return!m.styleEnabled()||!m.hasCompoundNodes()?this:(this.forEachUp(function(k){if(k.isParent()){var S=k._private;S.compoundBoundsClean=!1,S.bbCache=null,x||k.emitAndNotify("bounds")}}),this)},ay.updateCompoundBounds=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();if(!m.styleEnabled()||!m.hasCompoundNodes())return this;if(!x&&m.batching())return this;function k(N){if(!N.isParent())return;var $=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",Y={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),ce=$.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=ce.x-Z.w/2,Z.x2=ce.x+Z.w/2,Z.y1=ce.y-Z.h/2,Z.y2=ce.y+Z.h/2);function ve(Qe,Lt,Mt){var ut=0,Yt=0,St=Lt+Mt;return Qe>0&&St>0&&(ut=Lt/St*Qe,Yt=Mt/St*Qe),{biasDiff:ut,biasComplementDiff:Yt}}function me(Qe,Lt,Mt,ut){if(Mt.units==="%")switch(ut){case"width":return Qe>0?Mt.pfValue*Qe:0;case"height":return Lt>0?Mt.pfValue*Lt:0;case"average":return Qe>0&&Lt>0?Mt.pfValue*(Qe+Lt)/2:0;case"min":return Qe>0&&Lt>0?Qe>Lt?Mt.pfValue*Lt:Mt.pfValue*Qe:0;case"max":return Qe>0&&Lt>0?Qe>Lt?Mt.pfValue*Qe:Mt.pfValue*Lt:0;default:return 0}else return Mt.units==="px"?Mt.pfValue:0}var Le=Y.width.left.value;Y.width.left.units==="px"&&Y.width.val>0&&(Le=Le*100/Y.width.val);var _e=Y.width.right.value;Y.width.right.units==="px"&&Y.width.val>0&&(_e=_e*100/Y.width.val);var Te=Y.height.top.value;Y.height.top.units==="px"&&Y.height.val>0&&(Te=Te*100/Y.height.val);var Fe=Y.height.bottom.value;Y.height.bottom.units==="px"&&Y.height.val>0&&(Fe=Fe*100/Y.height.val);var Re=ve(Y.width.val-Z.w,Le,_e),Ve=Re.biasDiff,ct=Re.biasComplementDiff,st=ve(Y.height.val-Z.h,Te,Fe),Ye=st.biasDiff,vt=st.biasComplementDiff;$.autoPadding=me(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Z.w,Y.width.val),ce.x=(-Ve+Z.x1+Z.x2+ct)/2,$.autoHeight=Math.max(Z.h,Y.height.val),ce.y=(-Ye+Z.y1+Z.y2+vt)/2}for(var S=0;Sm.x2?M:m.x2,m.y1=Sm.y2?O:m.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1)},v5=function(m,k){return k==null?m:ib(m,k.x1,k.y1,k.x2,k.y2)},tk=function(m,k,S){return nb(m,k,S)},AS=function(m,k,S){if(!k.cy().headless()){var M=k._private,O=M.rstyle,N=O.arrowWidth/2,$=k.pstyle(S+"-arrow-shape").value,H,q;if($!=="none"){S==="source"?(H=O.srcX,q=O.srcY):S==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var Y=M.arrowBounds=M.arrowBounds||{},Z=Y[S]=Y[S]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,dS(Z,1),ib(m,Z.x1,Z.y1,Z.x2,Z.y2)}}},MI=function(m,k,S){if(!k.cy().headless()){var M;S?M=S+"-":M="";var O=k._private,N=O.rstyle,$=k.pstyle(M+"label").strValue;if($){var H=k.pstyle("text-halign"),q=k.pstyle("text-valign"),Y=tk(N,"labelWidth",S),Z=tk(N,"labelHeight",S),ce=tk(N,"labelX",S),ve=tk(N,"labelY",S),me=k.pstyle(M+"text-margin-x").pfValue,Le=k.pstyle(M+"text-margin-y").pfValue,_e=k.isEdge(),Te=k.pstyle(M+"text-rotation"),Fe=k.pstyle("text-outline-width").pfValue,Re=k.pstyle("text-border-width").pfValue,Ve=Re/2,ct=k.pstyle("text-background-padding").pfValue,st=2,Ye=Z,vt=Y,Qe=vt/2,Lt=Ye/2,Mt,ut,Yt,St;if(_e)Mt=ce-Qe,ut=ce+Qe,Yt=ve-Lt,St=ve+Lt;else{switch(H.value){case"left":Mt=ce-vt,ut=ce;break;case"center":Mt=ce-Qe,ut=ce+Qe;break;case"right":Mt=ce,ut=ce+vt;break}switch(q.value){case"top":Yt=ve-Ye,St=ve;break;case"center":Yt=ve-Lt,St=ve+Lt;break;case"bottom":Yt=ve,St=ve+Ye;break}}Mt+=me-Math.max(Fe,Ve)-ct-st,ut+=me+Math.max(Fe,Ve)+ct+st,Yt+=Le-Math.max(Fe,Ve)-ct-st,St+=Le+Math.max(Fe,Ve)+ct+st;var _n=S||"main",fn=O.labelBounds,Xt=fn[_n]=fn[_n]||{};Xt.x1=Mt,Xt.y1=Yt,Xt.x2=ut,Xt.y2=St,Xt.w=ut-Mt,Xt.h=St-Yt;var Dn=_e&&Te.strValue==="autorotate",rr=Te.pfValue!=null&&Te.pfValue!==0;if(Dn||rr){var mr=Dn?tk(O.rstyle,"labelAngle",S):Te.pfValue,Pn=Math.cos(mr),gr=Math.sin(mr),kr=(Mt+ut)/2,Lr=(Yt+St)/2;if(!_e){switch(H.value){case"left":kr=ut;break;case"right":kr=Mt;break}switch(q.value){case"top":Lr=St;break;case"bottom":Lr=Yt;break}}var Er=function(va,Di){return va=va-kr,Di=Di-Lr,{x:va*Pn-Di*gr+kr,y:va*gr+Di*Pn+Lr}},Ir=Er(Mt,Yt),Kn=Er(Mt,St),pr=Er(ut,Yt),Cr=Er(ut,St);Mt=Math.min(Ir.x,Kn.x,pr.x,Cr.x),ut=Math.max(Ir.x,Kn.x,pr.x,Cr.x),Yt=Math.min(Ir.y,Kn.y,pr.y,Cr.y),St=Math.max(Ir.y,Kn.y,pr.y,Cr.y)}var Or=_n+"Rot",_i=fn[Or]=fn[Or]||{};_i.x1=Mt,_i.y1=Yt,_i.x2=ut,_i.y2=St,_i.w=ut-Mt,_i.h=St-Yt,ib(m,Mt,Yt,ut,St),ib(O.labelBounds.all,Mt,Yt,ut,St)}return m}},Qne=function(m,k){if(!k.cy().headless()){var S=k.pstyle("outline-opacity").value,M=k.pstyle("outline-width").value;if(S>0&&M>0){var O=k.pstyle("outline-offset").value,N=k.pstyle("shape").value,$=M+O,H=(m.w+$*2)/m.w,q=(m.h+$*2)/m.h,Y=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(m.w+$*2.4)/m.w,Z=-$/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(m.w+$*2.4)/m.w:N==="star"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.6)/m.h,Z=-$/3.8):N==="triangle"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.4)/m.h,Z=-$/1.4):N==="vee"&&(H=(m.w+$*4.4)/m.w,q=(m.h+$*3.8)/m.h,Z=-$*.5);var ce=m.h*q-m.h,ve=m.w*H-m.w;if(gS(m,[Math.ceil(ce/2),Math.ceil(ve/2)]),Y!=0||Z!==0){var me=LZ(m,Y,Z);yj(m,me)}}}},Jne=function(m,k){var S=m._private.cy,M=S.styleEnabled(),O=S.headless(),N=Qd(),$=m._private,H=m.isNode(),q=m.isEdge(),Y,Z,ce,ve,me,Le,_e=$.rstyle,Te=H&&M?m.pstyle("bounds-expansion").pfValue:[0],Fe=function(fs){return fs.pstyle("display").value!=="none"},Re=!M||Fe(m)&&(!q||Fe(m.source())&&Fe(m.target()));if(Re){var Ve=0,ct=0;M&&k.includeOverlays&&(Ve=m.pstyle("overlay-opacity").value,Ve!==0&&(ct=m.pstyle("overlay-padding").value));var st=0,Ye=0;M&&k.includeUnderlays&&(st=m.pstyle("underlay-opacity").value,st!==0&&(Ye=m.pstyle("underlay-padding").value));var vt=Math.max(ct,Ye),Qe=0,Lt=0;if(M&&(Qe=m.pstyle("width").pfValue,Lt=Qe/2),H&&k.includeNodes){var Mt=m.position();me=Mt.x,Le=Mt.y;var ut=m.outerWidth(),Yt=ut/2,St=m.outerHeight(),_n=St/2;Y=me-Yt,Z=me+Yt,ce=Le-_n,ve=Le+_n,ib(N,Y,ce,Z,ve),M&&k.includeOutlines&&Qne(N,m)}else if(q&&k.includeEdges)if(M&&!O){var fn=m.pstyle("curve-style").strValue;if(Y=Math.min(_e.srcX,_e.midX,_e.tgtX),Z=Math.max(_e.srcX,_e.midX,_e.tgtX),ce=Math.min(_e.srcY,_e.midY,_e.tgtY),ve=Math.max(_e.srcY,_e.midY,_e.tgtY),Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,ib(N,Y,ce,Z,ve),fn==="haystack"){var Xt=_e.haystackPts;if(Xt&&Xt.length===2){if(Y=Xt[0].x,ce=Xt[0].y,Z=Xt[1].x,ve=Xt[1].y,Y>Z){var Dn=Y;Y=Z,Z=Dn}if(ce>ve){var rr=ce;ce=ve,ve=rr}ib(N,Y-Lt,ce-Lt,Z+Lt,ve+Lt)}}else if(fn==="bezier"||fn==="unbundled-bezier"||fn==="segments"||fn==="taxi"){var mr;switch(fn){case"bezier":case"unbundled-bezier":mr=_e.bezierPts;break;case"segments":case"taxi":mr=_e.linePts;break}if(mr!=null)for(var Pn=0;PnZ){var Kn=Y;Y=Z,Z=Kn}if(ce>ve){var pr=ce;ce=ve,ve=pr}Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,ib(N,Y,ce,Z,ve)}if(M&&k.includeEdges&&q&&(AS(N,m,"mid-source"),AS(N,m,"mid-target"),AS(N,m,"source"),AS(N,m,"target")),M){var Cr=m.pstyle("ghost").value==="yes";if(Cr){var Or=m.pstyle("ghost-offset-x").pfValue,_i=m.pstyle("ghost-offset-y").pfValue;ib(N,N.x1+Or,N.y1+_i,N.x2+Or,N.y2+_i)}}var xs=$.bodyBounds=$.bodyBounds||{};xj(xs,N),gS(xs,Te),dS(xs,1),M&&(Y=N.x1,Z=N.x2,ce=N.y1,ve=N.y2,ib(N,Y-vt,ce-vt,Z+vt,ve+vt));var va=$.overlayBounds=$.overlayBounds||{};xj(va,N),gS(va,Te),dS(va,1);var Di=$.labelBounds=$.labelBounds||{};Di.all!=null?AZ(Di.all):Di.all=Qd(),M&&k.includeLabels&&(k.includeMainLabels&&MI(N,m,null),q&&(k.includeSourceLabels&&MI(N,m,"source"),k.includeTargetLabels&&MI(N,m,"target")))}return N.x1=Wp(N.x1),N.y1=Wp(N.y1),N.x2=Wp(N.x2),N.y2=Wp(N.y2),N.w=Wp(N.x2-N.x1),N.h=Wp(N.y2-N.y1),N.w>0&&N.h>0&&Re&&(gS(N,Te),dS(N,1)),N},T$=function(m){var k=0,S=function(N){return(N?1:0)<0&&arguments[0]!==void 0?arguments[0]:lre,m=arguments.length>1?arguments[1]:void 0,k=0;k=0;$--)N($);return this},sb.removeAllListeners=function(){return this.removeListener("*")},sb.emit=sb.trigger=function(x,m,k){var S=this.listeners,M=S.length;return this.emitting++,ne(m)||(m=[m]),DS(this,function(O,N){k!=null&&(S=[{event:N.event,type:N.type,namespace:N.namespace,callback:k}],M=S.length);for(var $=function(Y){var Z=S[Y];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===ure)&&O.eventMatches(O.context,Z,N)){var ce=[N];m!=null&&bj(ce,m),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(Le){return Le!==Z}));var ve=O.callbackContext(O.context,Z,N),me=Z.callback.apply(ve,ce);O.afterEmit(O.context,Z,N),me===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H1&&!N){var $=this.length-1,H=this[$],q=H._private.data.id;this[$]=void 0,this[m]=H,O.set(q,{ele:H,index:m})}return this.length--,this},unmergeOne:function(m){m=m[0];var k=this._private,S=m._private.data.id,M=k.map,O=M.get(S);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(m){var k=this._private.cy;if(!m)return this;if(m&&ge(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=0;M=0;k--){var S=this[k];m(S)&&this.unmergeAt(k)}return this},map:function(m,k){for(var S=[],M=this,O=0;OS&&(S=H,M=$)}return{value:S,ele:M}},min:function(m,k){for(var S=1/0,M,O=this,N=0;N=0&&O"u"?"undefined":u(Symbol))!=m&&u(Symbol.iterator)!=m;k&&(IS[Symbol.iterator]=function(){var S=this,M={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,S=this[0],M=S.cy();if(M.styleEnabled()&&S){this.cleanStyle();var O=S._private.style[m];return O??(k?M.style().getDefaultProperty(m):null)}},numericStyle:function(m){var k=this[0];if(k.cy().styleEnabled()&&k){var S=k.pstyle(m);return S.pfValue!==void 0?S.pfValue:S.value}},numericStyleUnits:function(m){var k=this[0];if(k.cy().styleEnabled()&&k)return k.pstyle(m).units},renderedStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=this[0];if(S)return k.style().getRenderedStyle(S,m)},style:function(m,k){var S=this.cy();if(!S.styleEnabled())return this;var M=!1,O=S.style();if(se(m)){var N=m;O.applyBypass(this,N,M),this.emitAndNotify("style")}else if(ge(m))if(k===void 0){var $=this[0];return $?O.getStylePropertyValue($,m):void 0}else O.applyBypass(this,m,k,M),this.emitAndNotify("style");else if(m===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=!1,M=k.style(),O=this;if(m===void 0)for(var N=0;N0&&m.push(Y[0]),m.push($[0])}return this.spawn(m,!0).filter(x)},"neighborhood"),closedNeighborhood:function(m){return this.neighborhood().add(this).filter(m)},openNeighborhood:function(m){return this.neighborhood(m)}}),k1.neighbourhood=k1.neighborhood,k1.closedNeighbourhood=k1.closedNeighborhood,k1.openNeighbourhood=k1.openNeighborhood,xt(k1,{source:Kp(function(m){var k=this[0],S;return k&&(S=k._private.source||k.cy().collection()),S&&m?S.filter(m):S},"source"),target:Kp(function(m){var k=this[0],S;return k&&(S=k._private.target||k.cy().collection()),S&&m?S.filter(m):S},"target"),sources:R$({attr:"source"}),targets:R$({attr:"target"})});function R$(x){return function(k){for(var S=[],M=0;M0);return N},component:function(){var m=this[0];return m.cy().mutableElements().components(m)[0]}}),k1.componentsOf=k1.components;var H0=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(m===void 0){sh("A collection must have a reference to the core");return}var O=new _m,N=!1;if(!k)k=[];else if(k.length>0&&se(k[0])&&!U(k[0])){N=!0;for(var $=[],H=new J7,q=0,Y=k.length;q0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=k.cy(),M=S._private,O=[],N=[],$,H=0,q=k.length;H0){for(var rr=$.length===k.length?k:new H0(S,$),mr=0;mr0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=[],M={},O=k._private.cy;function N(St){for(var _n=St._private.edges,fn=0;fn<_n.length;fn++)H(_n[fn])}function $(St){for(var _n=St._private.children,fn=0;fn<_n.length;fn++)H(_n[fn])}function H(St){var _n=M[St.id()];m&&St.removed()||_n||(M[St.id()]=!0,St.isNode()?(S.push(St),N(St),$(St)):S.unshift(St))}for(var q=0,Y=k.length;q0&&(x?Mt.emitAndNotify("remove"):m&&Mt.emit("remove"));for(var ut=0;ut0?ut=St:Mt=St;while(Math.abs(Yt)>N&&++_n<$);return St}function ct(Lt){for(var Mt=0,ut=1,Yt=H-1;ut!==Yt&&ce[ut]<=Lt;++ut)Mt+=q;--ut;var St=(Lt-ce[ut])/(ce[ut+1]-ce[ut]),_n=Mt+St*q,fn=Te(_n,x,k);return fn>=O?Fe(Lt,_n):fn===0?_n:Ve(Lt,Mt,Mt+q)}var st=!1;function Ye(){st=!0,(x!==m||k!==S)&&Re()}var vt=function(Mt){return st||Ye(),x===m&&k===S?Mt:Mt===0?0:Mt===1?1:_e(ct(Mt),m,S)};vt.getControlPoints=function(){return[{x,y:m},{x:k,y:S}]};var Qe="generateBezier("+[x,m,k,S]+")";return vt.toString=function(){return Qe},vt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var xre=function(){function x(S){return-S.tension*S.x-S.friction*S.v}function m(S,M,O){var N={x:S.x+O.dx*M,v:S.v+O.dv*M,tension:S.tension,friction:S.friction};return{dx:N.v,dv:x(N)}}function k(S,M){var O={dx:S.v,dv:x(S)},N=m(S,M*.5,O),$=m(S,M*.5,N),H=m(S,M,$),q=1/6*(O.dx+2*(N.dx+$.dx)+H.dx),Y=1/6*(O.dv+2*(N.dv+$.dv)+H.dv);return S.x=S.x+q*M,S.v=S.v+Y*M,S}return function S(M,O,N){var $={x:-1,v:0,tension:null,friction:null},H=[0],q=0,Y=1/1e4,Z=16/1e3,ce,ve,me;for(M=parseFloat(M)||500,O=parseFloat(O)||20,N=N||null,$.tension=M,$.friction=O,ce=N!==null,ce?(q=S(M,O),ve=q/N*Z):ve=Z;me=k(me||$,ve),H.push(1+me.x),q+=16,Math.abs(me.x)>Y&&Math.abs(me.v)>Y;);return ce?function(Le){return H[Le*(H.length-1)|0]}:q}}(),nl=function(m,k,S,M){var O=yre(m,k,S,M);return function(N,$,H){return N+($-N)*O(H)}},FS={linear:function(m,k,S){return m+(k-m)*S},ease:nl(.25,.1,.25,1),"ease-in":nl(.42,0,1,1),"ease-out":nl(0,0,.58,1),"ease-in-out":nl(.42,0,.58,1),"ease-in-sine":nl(.47,0,.745,.715),"ease-out-sine":nl(.39,.575,.565,1),"ease-in-out-sine":nl(.445,.05,.55,.95),"ease-in-quad":nl(.55,.085,.68,.53),"ease-out-quad":nl(.25,.46,.45,.94),"ease-in-out-quad":nl(.455,.03,.515,.955),"ease-in-cubic":nl(.55,.055,.675,.19),"ease-out-cubic":nl(.215,.61,.355,1),"ease-in-out-cubic":nl(.645,.045,.355,1),"ease-in-quart":nl(.895,.03,.685,.22),"ease-out-quart":nl(.165,.84,.44,1),"ease-in-out-quart":nl(.77,0,.175,1),"ease-in-quint":nl(.755,.05,.855,.06),"ease-out-quint":nl(.23,1,.32,1),"ease-in-out-quint":nl(.86,0,.07,1),"ease-in-expo":nl(.95,.05,.795,.035),"ease-out-expo":nl(.19,1,.22,1),"ease-in-out-expo":nl(1,0,0,1),"ease-in-circ":nl(.6,.04,.98,.335),"ease-out-circ":nl(.075,.82,.165,1),"ease-in-out-circ":nl(.785,.135,.15,.86),spring:function(m,k,S){if(S===0)return FS.linear;var M=xre(m,k,S);return function(O,N,$){return O+(N-O)*M($)}},"cubic-bezier":nl};function z$(x,m,k,S,M){if(S===1||m===k)return k;var O=M(m,k,S);return x==null||((x.roundValue||x.color)&&(O=Math.round(O)),x.min!==void 0&&(O=Math.max(O,x.min)),x.max!==void 0&&(O=Math.min(O,x.max))),O}function q$(x,m){return x.pfValue!=null||x.value!=null?x.pfValue!=null&&(m==null||m.type.units!=="%")?x.pfValue:x.value:x}function p8(x,m,k,S,M){var O=M!=null?M.type:null;k<0?k=0:k>1&&(k=1);var N=q$(x,M),$=q$(m,M);if(X(N)&&X($))return z$(O,N,$,k,S);if(ne(N)&&ne($)){for(var H=[],q=0;q<$.length;q++){var Y=N[q],Z=$[q];if(Y!=null&&Z!=null){var ce=z$(O,Y,Z,k,S);H.push(ce)}else H.push(Z)}return H}}function kre(x,m,k,S){var M=!S,O=x._private,N=m._private,$=N.easing,H=N.startTime,q=S?x:x.cy(),Y=q.style();if(!N.easingImpl)if($==null)N.easingImpl=FS.linear;else{var Z;if(ge($)){var ce=Y.parse("transition-timing-function",$);Z=ce.value}else Z=$;var ve,me;ge(Z)?(ve=Z,me=[]):(ve=Z[1],me=Z.slice(2).map(function(rr){return+rr})),me.length>0?(ve==="spring"&&me.push(N.duration),N.easingImpl=FS[ve].apply(null,me)):N.easingImpl=FS[ve]}var Le=N.easingImpl,_e;if(N.duration===0?_e=1:_e=(k-H)/N.duration,N.applying&&(_e=N.progress),_e<0?_e=0:_e>1&&(_e=1),N.delay==null){var Te=N.startPosition,Fe=N.position;if(Fe&&M&&!x.locked()){var Re={};ck(Te.x,Fe.x)&&(Re.x=p8(Te.x,Fe.x,_e,Le)),ck(Te.y,Fe.y)&&(Re.y=p8(Te.y,Fe.y,_e,Le)),x.position(Re)}var Ve=N.startPan,ct=N.pan,st=O.pan,Ye=ct!=null&&S;Ye&&(ck(Ve.x,ct.x)&&(st.x=p8(Ve.x,ct.x,_e,Le)),ck(Ve.y,ct.y)&&(st.y=p8(Ve.y,ct.y,_e,Le)),x.emit("pan"));var vt=N.startZoom,Qe=N.zoom,Lt=Qe!=null&&S;Lt&&(ck(vt,Qe)&&(O.zoom=K9(O.minZoom,p8(vt,Qe,_e,Le),O.maxZoom)),x.emit("zoom")),(Ye||Lt)&&x.emit("viewport");var Mt=N.style;if(Mt&&Mt.length>0&&M){for(var ut=0;ut=0;Ye--){var vt=st[Ye];vt()}st.splice(0,st.length)},Fe=ve.length-1;Fe>=0;Fe--){var Re=ve[Fe],Ve=Re._private;if(Ve.stopped){ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Te(Ve.frames);continue}!Ve.playing&&!Ve.applying||(Ve.playing&&Ve.applying&&(Ve.applying=!1),Ve.started||Tre(Y,Re,x),kre(Y,Re,x,Z),Ve.applying&&(Ve.applying=!1),Te(Ve.frames),Ve.step!=null&&Ve.step(x),Re.completed()&&(ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Te(Ve.completes)),Le=!0)}return!Z&&ve.length===0&&me.length===0&&S.push(Y),Le}for(var O=!1,N=0;N0?m.notify("draw",k):m.notify("draw")),k.unmerge(S),m.emit("step")}var Ere={animate:hu.animate(),animation:hu.animation(),animated:hu.animated(),clearQueue:hu.clearQueue(),delay:hu.delay(),delayAnimation:hu.delayAnimation(),stop:hu.stop(),addToAnimationPool:function(m){var k=this;k.styleEnabled()&&k._private.aniEles.merge(m)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var m=this;if(m._private.animationsRunning=!0,!m.styleEnabled())return;function k(){m._private.animationsRunning&&Wh(function(O){H$(O,m),k()})}var S=m.renderer();S&&S.beforeRender?S.beforeRender(function(O,N){H$(N,m)},S.beforeRenderPriorities.animations):k()}},Cre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m,k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m}},RS=function(m){return ge(m)?new ry(m):m},U$={createEmitter:function(){var m=this._private;return m.emitter||(m.emitter=new MS(Cre,this)),this},emitter:function(){return this._private.emitter},on:function(m,k,S){return this.emitter().on(m,RS(k),S),this},removeListener:function(m,k,S){return this.emitter().removeListener(m,RS(k),S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(m,k,S){return this.emitter().one(m,RS(k),S),this},once:function(m,k,S){return this.emitter().one(m,RS(k),S),this},emit:function(m,k){return this.emitter().emit(m,k),this},emitAndNotify:function(m,k){return this.emit(m),this.notify(m,k),this}};hu.eventAliasesOn(U$);var RI={png:function(m){var k=this._private.renderer;return m=m||{},k.png(m)},jpg:function(m){var k=this._private.renderer;return m=m||{},m.bg=m.bg||"#fff",k.jpg(m)}};RI.jpeg=RI.jpg;var jS={layout:function(m){var k=this;if(m==null){sh("Layout options must be specified to make a layout");return}if(m.name==null){sh("A `name` must be specified to make a layout");return}var S=m.name,M=k.extension("layout",S);if(M==null){sh("No such layout `"+S+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;ge(m.eles)?O=k.$(m.eles):O=m.eles!=null?m.eles:k.$();var N=new M(xt({},m,{cy:k,eles:O}));return N}};jS.createLayout=jS.makeLayout=jS.layout;var Sre={notify:function(m,k){var S=this._private;if(this.batching()){S.batchNotifications=S.batchNotifications||{};var M=S.batchNotifications[m]=S.batchNotifications[m]||this.collection();k!=null&&M.merge(k);return}if(S.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(m,k)}},notifications:function(m){var k=this._private;return m===void 0?k.notificationsEnabled:(k.notificationsEnabled=!!m,this)},noNotifications:function(m){this.notifications(!1),m(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var m=this._private;return m.batchCount==null&&(m.batchCount=0),m.batchCount===0&&(m.batchStyleEles=this.collection(),m.batchNotifications={}),m.batchCount++,this},endBatch:function(){var m=this._private;if(m.batchCount===0)return this;if(m.batchCount--,m.batchCount===0){m.batchStyleEles.updateStyle();var k=this.renderer();Object.keys(m.batchNotifications).forEach(function(S){var M=m.batchNotifications[S];M.empty()?k.notify(S):k.notify(S,M)})}return this},batch:function(m){return this.startBatch(),m(),this.endBatch(),this},batchData:function(m){var k=this;return this.batch(function(){for(var S=Object.keys(m),M=0;M0;)k.removeChild(k.childNodes[0]);m._private.renderer=null,m.mutableElements().forEach(function(S){var M=S._private;M.rscratch={},M.rstyle={},M.animation.current=[],M.animation.queue=[]})},onRender:function(m){return this.on("render",m)},offRender:function(m){return this.off("render",m)}};jI.invalidateDimensions=jI.resize;var $S={collection:function(m,k){return ge(m)?this.$(m):xe(m)?m.collection():ne(m)?(k||(k={}),new H0(this,m,k.unique,k.removed)):new H0(this)},nodes:function(m){var k=this.$(function(S){return S.isNode()});return m?k.filter(m):k},edges:function(m){var k=this.$(function(S){return S.isEdge()});return m?k.filter(m):k},$:function(m){var k=this._private.elements;return m?k.filter(m):k.spawnSelf()},mutableElements:function(){return this._private.elements}};$S.elements=$S.filter=$S.$;var T1={},uk="t",Are="f";T1.apply=function(x){for(var m=this,k=m._private,S=k.cy,M=S.collection(),O=0;O0;if(ce||Z&&ve){var me=void 0;ce&&ve||ce?me=q.properties:ve&&(me=q.mappedProperties);for(var Le=0;Le1&&(Ve=1),$.color){var st=S.valueMin[0],Ye=S.valueMax[0],vt=S.valueMin[1],Qe=S.valueMax[1],Lt=S.valueMin[2],Mt=S.valueMax[2],ut=S.valueMin[3]==null?1:S.valueMin[3],Yt=S.valueMax[3]==null?1:S.valueMax[3],St=[Math.round(st+(Ye-st)*Ve),Math.round(vt+(Qe-vt)*Ve),Math.round(Lt+(Mt-Lt)*Ve),Math.round(ut+(Yt-ut)*Ve)];O={bypass:S.bypass,name:S.name,value:St,strValue:"rgb("+St[0]+", "+St[1]+", "+St[2]+")"}}else if($.number){var _n=S.valueMin+(S.valueMax-S.valueMin)*Ve;O=this.parse(S.name,_n,S.bypass,ce)}else return!1;if(!O)return Le(),!1;O.mapping=S,S=O;break}case N.data:{for(var fn=S.field.split("."),Xt=Z.data,Dn=0;Dn0&&O>0){for(var $={},H=!1,q=0;q0?x.delayAnimation(N).play().promise().then(Re):Re()}).then(function(){return x.animation({style:$,duration:O,easing:x.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){k.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1})}else S.transitioning&&(this.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1)},T1.checkTrigger=function(x,m,k,S,M,O){var N=this.properties[m],$=M(N);$!=null&&$(k,S)&&O(N)},T1.checkZOrderTrigger=function(x,m,k,S){var M=this;this.checkTrigger(x,m,k,S,function(O){return O.triggersZOrder},function(){M._private.cy.notify("zorder",x)})},T1.checkBoundsTrigger=function(x,m,k,S){this.checkTrigger(x,m,k,S,function(M){return M.triggersBounds},function(M){x.dirtyCompoundBoundsCache(),x.dirtyBoundingBoxCache(),M.triggersBoundsOfParallelBeziers&&m==="curve-style"&&(k==="bezier"||S==="bezier")&&x.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),M.triggersBoundsOfConnectedEdges&&m==="display"&&(k==="none"||S==="none")&&x.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},T1.checkTriggers=function(x,m,k,S){x.dirtyStyleCache(),this.checkZOrderTrigger(x,m,k,S),this.checkBoundsTrigger(x,m,k,S)};var lk={};lk.applyBypass=function(x,m,k,S){var M=this,O=[],N=!0;if(m==="*"||m==="**"){if(k!==void 0)for(var $=0;$M.length?S=S.substr(M.length):S=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=S.match(/^\s*$/);if(q)break;var Y=S.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!Y){lu("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+S);break}M=Y[0];var Z=Y[1];if(Z!=="core"){var ce=new ry(Z);if(ce.invalid){lu("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),$();continue}}var ve=Y[2],me=!1;O=ve;for(var Le=[];;){var _e=O.match(/^\s*$/);if(_e)break;var Te=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Te){lu("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ve),me=!0;break}N=Te[0];var Fe=Te[1],Re=Te[2],Ve=m.properties[Fe];if(!Ve){lu("Skipping property: Invalid property name in: "+N),H();continue}var ct=k.parse(Fe,Re);if(!ct){lu("Skipping property: Invalid property definition in: "+N),H();continue}Le.push({name:Fe,val:Re}),H()}if(me){$();break}k.selector(Z);for(var st=0;st=7&&m[0]==="d"&&(Y=new RegExp($.data.regex).exec(m))){if(k)return!1;var ce=$.data;return{name:x,value:Y,strValue:""+m,mapped:ce,field:Y[1],bypass:k}}else if(m.length>=10&&m[0]==="m"&&(Z=new RegExp($.mapData.regex).exec(m))){if(k||q.multiple)return!1;var ve=$.mapData;if(!(q.color||q.number))return!1;var me=this.parse(x,Z[4]);if(!me||me.mapped)return!1;var Le=this.parse(x,Z[5]);if(!Le||Le.mapped)return!1;if(me.pfValue===Le.pfValue||me.strValue===Le.strValue)return lu("`"+x+": "+m+"` is not a valid mapper because the output range is zero; converting to `"+x+": "+me.strValue+"`"),this.parse(x,me.strValue);if(q.color){var _e=me.value,Te=Le.value,Fe=_e[0]===Te[0]&&_e[1]===Te[1]&&_e[2]===Te[2]&&(_e[3]===Te[3]||(_e[3]==null||_e[3]===1)&&(Te[3]==null||Te[3]===1));if(Fe)return!1}return{name:x,value:Z,strValue:""+m,mapped:ve,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:me.value,valueMax:Le.value,bypass:k}}}if(q.multiple&&S!=="multiple"){var Re;if(H?Re=m.split(/\s+/):ne(m)?Re=m:Re=[m],q.evenMultiple&&Re.length%2!==0)return null;for(var Ve=[],ct=[],st=[],Ye="",vt=!1,Qe=0;Qe0?" ":"")+Lt.strValue}return q.validate&&!q.validate(Ve,ct)?null:q.singleEnum&&vt?Ve.length===1&&ge(Ve[0])?{name:x,value:Ve[0],strValue:Ve[0],bypass:k}:null:{name:x,value:Ve,pfValue:st,strValue:Ye,bypass:k,units:ct}}var Mt=function(){for(var Cr=0;Crq.max||q.strictMax&&m===q.max))return null;var fn={name:x,value:m,strValue:""+m+(ut||""),units:ut,bypass:k};return q.unitless||ut!=="px"&&ut!=="em"?fn.pfValue=m:fn.pfValue=ut==="px"||!ut?m:this.getEmSizeInPixels()*m,(ut==="ms"||ut==="s")&&(fn.pfValue=ut==="ms"?m:1e3*m),(ut==="deg"||ut==="rad")&&(fn.pfValue=ut==="rad"?m:EZ(m)),ut==="%"&&(fn.pfValue=m/100),fn}else if(q.propList){var Xt=[],Dn=""+m;if(Dn!=="none"){for(var rr=Dn.split(/\s*,\s*|\s+/),mr=0;mr0&&$>0&&!isNaN(S.w)&&!isNaN(S.h)&&S.w>0&&S.h>0){H=Math.min((N-2*k)/S.w,($-2*k)/S.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H=S.minZoom&&(S.maxZoom=k),this},minZoom:function(m){return m===void 0?this._private.minZoom:this.zoomRange({min:m})},maxZoom:function(m){return m===void 0?this._private.maxZoom:this.zoomRange({max:m})},getZoomedViewport:function(m){var k=this._private,S=k.pan,M=k.zoom,O,N,$=!1;if(k.zoomingEnabled||($=!0),X(m)?N=m:se(m)&&(N=m.level,m.position!=null?O=hS(m.position,M,S):m.renderedPosition!=null&&(O=m.renderedPosition),O!=null&&!k.panningEnabled&&($=!0)),N=N>k.maxZoom?k.maxZoom:N,N=Nk.maxZoom||!k.zoomingEnabled?N=!0:(k.zoom=H,O.push("zoom"))}if(M&&(!N||!m.cancelOnFailedZoom)&&k.panningEnabled){var q=m.pan;X(q.x)&&(k.pan.x=q.x,$=!1),X(q.y)&&(k.pan.y=q.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(m){var k=this.getCenterPan(m);return k&&(this._private.pan=k,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(m,k){if(this._private.panningEnabled){if(ge(m)){var S=m;m=this.mutableElements().filter(S)}else xe(m)||(m=this.mutableElements());if(m.length!==0){var M=m.boundingBox(),O=this.width(),N=this.height();k=k===void 0?this._private.zoom:k;var $={x:(O-k*(M.x1+M.x2))/2,y:(N-k*(M.y1+M.y2))/2};return $}}},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 m=this._private,k=m.container,S=this;return m.sizeCache=m.sizeCache||(k?function(){var M=S.window().getComputedStyle(k),O=function($){return parseFloat(M.getPropertyValue($))};return{width:k.clientWidth-O("padding-left")-O("padding-right"),height:k.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var m=this._private.pan,k=this._private.zoom,S=this.renderedExtent(),M={x1:(S.x1-m.x)/k,x2:(S.x2-m.x)/k,y1:(S.y1-m.y)/k,y2:(S.y2-m.y)/k};return M.w=M.x2-M.x1,M.h=M.y2-M.y1,M},renderedExtent:function(){var m=this.width(),k=this.height();return{x1:0,y1:0,x2:m,y2:k,w:m,h:k}},multiClickDebounceTime:function(m){if(m)this._private.multiClickDebounceTime=m;else return this._private.multiClickDebounceTime;return this}};y5.centre=y5.center,y5.autolockNodes=y5.autolock,y5.autoungrabifyNodes=y5.autoungrabify;var hk={data:hu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:hu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:hu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:hu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};hk.attr=hk.data,hk.removeAttr=hk.removeData;var fk=function(m){var k=this;m=xt({},m);var S=m.container;S&&!G(S)&&G(S[0])&&(S=S[0]);var M=S?S._cyreg:null;M=M||{},M&&M.cy&&(M.cy.destroy(),M={});var O=M.readies=M.readies||[];S&&(S._cyreg=M),M.cy=k;var N=B!==void 0&&S!==void 0&&!m.headless,$=m;$.layout=xt({name:N?"grid":"null"},$.layout),$.renderer=xt({name:N?"canvas":"null"},$.renderer);var H=function(me,Le,_e){return Le!==void 0?Le:_e!==void 0?_e:me},q=this._private={container:S,ready:!1,options:$,elements:new H0(this),listeners:[],aniEles:new H0(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?N:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:se($.pan)&&X($.pan.x)?$.pan.x:0,y:se($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var Y=function(me,Le){var _e=me.some(Ke);if(_e)return s8.all(me).then(Le);Le(me)};q.styleEnabled&&k.setStyle([]);var Z=xt({},$,$.renderer);k.initRenderer(Z);var ce=function(me,Le,_e){k.notifications(!1);var Te=k.mutableElements();Te.length>0&&Te.remove(),me!=null&&(se(me)||ne(me))&&k.add(me),k.one("layoutready",function(Re){k.notifications(!0),k.emit(Re),k.one("load",Le),k.emitAndNotify("load")}).one("layoutstop",function(){k.one("done",_e),k.emit("done")});var Fe=xt({},k._private.options.layout);Fe.eles=k.elements(),k.layout(Fe).run()};Y([$.style,$.elements],function(ve){var me=ve[0],Le=ve[1];q.styleEnabled&&k.style().append(me),ce(Le,function(){k.startAnimationLoop(),q.ready=!0,ae($.ready)&&k.on("ready",$.ready);for(var _e=0;_e0,H=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),q;if(xe(m.roots))q=m.roots;else if(ne(m.roots)){for(var Y=[],Z=0;Z0;){var _n=St(),fn=Lt(_n,ut);if(fn)_n.outgoers().filter(function(Di){return Di.isNode()&&S.has(Di)}).forEach(Yt);else if(fn===null){lu("Detected double maximal shift for node `"+_n.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Qe();var Xt=0;if(m.avoidOverlap)for(var Dn=0;Dn0&&Te[0].length<=3?Ma/2:0),K=2*Math.PI/Te[Fs].length*ks;return Fs===0&&Te[0].length===1&&(er=1),{x:_i.x+er*Math.cos(K),y:_i.y+er*Math.sin(K)}}else{var Fo={x:_i.x+(ks+1-(Rs+1)/2)*vo,y:(Fs+1)*ja};return Fo}};return S.nodes().layoutPositions(this,m,va),this};var Ore={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(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function K$(x){this.options=xt({},Ore,x)}K$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,O=S.nodes().not(":parent");m.sort&&(O=O.sort(m.sort));for(var N=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=m.sweep===void 0?2*Math.PI-2*Math.PI/O.length:m.sweep,q=H/Math.max(1,O.length-1),Y,Z=0,ce=0;ce1&&m.avoidOverlap){Z*=1.75;var Te=Math.cos(q)-Math.cos(0),Fe=Math.sin(q)-Math.sin(0),Re=Math.sqrt(Z*Z/(Te*Te+Fe*Fe));Y=Math.max(Re,Y)}var Ve=function(st,Ye){var vt=m.startAngle+Ye*q*(M?1:-1),Qe=Y*Math.cos(vt),Lt=Y*Math.sin(vt),Mt={x:$.x+Qe,y:$.y+Lt};return Mt};return S.nodes().layoutPositions(this,m,Ve),this};var Nre={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(m){return m.degree()},levelWidth:function(m){return m.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function W$(x){this.options=xt({},Nre,x)}W$.prototype.run=function(){for(var x=this.options,m=x,k=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,S=x.cy,M=m.eles,O=M.nodes().not(":parent"),N=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:S.width(),h:S.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,Y=0;Y0){var ct=Math.abs(Fe[0].value-Ve.value);ct>=_e&&(Fe=[],Te.push(Fe))}Fe.push(Ve)}var st=q+m.minNodeSpacing;if(!m.avoidOverlap){var Ye=Te.length>0&&Te[0].length>1,vt=Math.min(N.w,N.h)/2-st,Qe=vt/(Te.length+Ye?1:0);st=Math.min(st,Qe)}for(var Lt=0,Mt=0;Mt1&&m.avoidOverlap){var _n=Math.cos(St)-Math.cos(0),fn=Math.sin(St)-Math.sin(0),Xt=Math.sqrt(st*st/(_n*_n+fn*fn));Lt=Math.max(Xt,Lt)}ut.r=Lt,Lt+=st}if(m.equidistant){for(var Dn=0,rr=0,mr=0;mr=x.numIter||(qre(S,x),S.temperature=S.temperature*x.coolingFactor,S.temperature=x.animationThreshold&&O(),Wh(Z)}};Y()}else{for(;q;)q=N(H),H++;Q$(S,x),$()}return this},US.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},US.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Bre=function(m,k,S){for(var M=S.eles.edges(),O=S.eles.nodes(),N=Qd(S.boundingBox?S.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),$={isCompound:m.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:M.size(),temperature:S.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=S.eles.components(),q={},Y=0;Y0){$.graphSet.push(vt);for(var Y=0;YM.count?0:M.graph},Rre=function x(m,k,S,M){var O=M.graphSet[S];if(-10)var Z=M.nodeOverlap*Y,ce=Math.sqrt($*$+H*H),ve=Z*$/ce,me=Z*H/ce;else var Le=VS(m,$,H),_e=VS(k,-1*$,-1*H),Te=_e.x-Le.x,Fe=_e.y-Le.y,Re=Te*Te+Fe*Fe,ce=Math.sqrt(Re),Z=(m.nodeRepulsion+k.nodeRepulsion)/Re,ve=Z*Te/ce,me=Z*Fe/ce;m.isLocked||(m.offsetX-=ve,m.offsetY-=me),k.isLocked||(k.offsetX+=ve,k.offsetY+=me)}},Vre=function(m,k,S,M){if(S>0)var O=m.maxX-k.minX;else var O=k.maxX-m.minX;if(M>0)var N=m.maxY-k.minY;else var N=k.maxY-m.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},VS=function(m,k,S){var M=m.positionX,O=m.positionY,N=m.height||1,$=m.width||1,H=S/k,q=N/$,Y={};return k===0&&0S?(Y.x=M,Y.y=O+N/2,Y):0k&&-1*q<=H&&H<=q?(Y.x=M-$/2,Y.y=O-$*S/2/k,Y):0=q)?(Y.x=M+N*k/2/S,Y.y=O+N/2,Y):(0>S&&(H<=-1*q||H>=q)&&(Y.x=M-N*k/2/S,Y.y=O-N/2),Y)},Gre=function(m,k){for(var S=0;SS){var _e=k.gravity*ve/Le,Te=k.gravity*me/Le;ce.offsetX+=_e,ce.offsetY+=Te}}}}},Wre=function(m,k){var S=[],M=0,O=-1;for(S.push.apply(S,m.graphSet[0]),O+=m.graphSet[0].length;M<=O;){var N=S[M++],$=m.idToIndex[N],H=m.layoutNodes[$],q=H.children;if(0S)var O={x:S*m/M,y:S*k/M};else var O={x:m,y:k};return O},Qre=function x(m,k){var S=m.parentId;if(S!=null){var M=k.layoutNodes[k.idToIndex[S]],O=!1;if((M.maxX==null||m.maxX+M.padRight>M.maxX)&&(M.maxX=m.maxX+M.padRight,O=!0),(M.minX==null||m.minX-M.padLeftM.maxY)&&(M.maxY=m.maxY+M.padBottom,O=!0),(M.minY==null||m.minY-M.padTopTe&&(me+=_e+k.componentSpacing,ve=0,Le=0,_e=0)}}},Jre={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(m){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function J$(x){this.options=xt({},Jre,x)}J$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().not(":parent");m.sort&&(M=M.sort(m.sort));var O=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()});if(O.h===0||O.w===0)S.nodes().layoutPositions(this,m,function(kr){return{x:O.x1,y:O.y1}});else{var N=M.size(),$=Math.sqrt(N*O.h/O.w),H=Math.round($),q=Math.round(O.w/O.h*$),Y=function(Lr){if(Lr==null)return Math.min(H,q);var Er=Math.min(H,q);Er==H?H=Lr:q=Lr},Z=function(Lr){if(Lr==null)return Math.max(H,q);var Er=Math.max(H,q);Er==H?H=Lr:q=Lr},ce=m.rows,ve=m.cols!=null?m.cols:m.columns;if(ce!=null&&ve!=null)H=ce,q=ve;else if(ce!=null&&ve==null)H=ce,q=Math.ceil(N/H);else if(ce==null&&ve!=null)q=ve,H=Math.ceil(N/q);else if(q*H>N){var me=Y(),Le=Z();(me-1)*Le>=N?Y(me-1):(Le-1)*me>=N&&Z(Le-1)}else for(;q*H=N?Z(Te+1):Y(_e+1)}var Fe=O.w/q,Re=O.h/H;if(m.condense&&(Fe=0,Re=0),m.avoidOverlap)for(var Ve=0;Ve=q&&(_n=0,St++)},Xt={},Dn=0;Dn(_n=FZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3])))return _e(Ye,_n),!0}else if(Qe.edgeType==="bezier"||Qe.edgeType==="multibezier"||Qe.edgeType==="self"||Qe.edgeType==="compound"){for(var fn=Qe.allpts,Xt=0;Xt+5(_n=BZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3],fn[Xt+4],fn[Xt+5])))return _e(Ye,_n),!0}for(var Dn=Dn||vt.source,rr=rr||vt.target,mr=M.getArrowWidth(Lt,Mt),Pn=[{name:"source",x:Qe.arrowStartX,y:Qe.arrowStartY,angle:Qe.srcArrowAngle},{name:"target",x:Qe.arrowEndX,y:Qe.arrowEndY,angle:Qe.tgtArrowAngle},{name:"mid-source",x:Qe.midX,y:Qe.midY,angle:Qe.midsrcArrowAngle},{name:"mid-target",x:Qe.midX,y:Qe.midY,angle:Qe.midtgtArrowAngle}],Xt=0;Xt0&&(Te(Dn),Te(rr))}function Re(Ye,vt,Qe){return nb(Ye,vt,Qe)}function Ve(Ye,vt){var Qe=Ye._private,Lt=ce,Mt;vt?Mt=vt+"-":Mt="",Ye.boundingBox();var ut=Qe.labelBounds[vt||"main"],Yt=Ye.pstyle(Mt+"label").value,St=Ye.pstyle("text-events").strValue==="yes";if(!(!St||!Yt)){var _n=Re(Qe.rscratch,"labelX",vt),fn=Re(Qe.rscratch,"labelY",vt),Xt=Re(Qe.rscratch,"labelAngle",vt),Dn=Ye.pstyle(Mt+"text-margin-x").pfValue,rr=Ye.pstyle(Mt+"text-margin-y").pfValue,mr=ut.x1-Lt-Dn,Pn=ut.x2+Lt-Dn,gr=ut.y1-Lt-rr,kr=ut.y2+Lt-rr;if(Xt){var Lr=Math.cos(Xt),Er=Math.sin(Xt),Ir=function(va,Di){return va=va-_n,Di=Di-fn,{x:va*Lr-Di*Er+_n,y:va*Er+Di*Lr+fn}},Kn=Ir(mr,gr),pr=Ir(mr,kr),Cr=Ir(Pn,gr),Or=Ir(Pn,kr),_i=[Kn.x+Dn,Kn.y+rr,Cr.x+Dn,Cr.y+rr,Or.x+Dn,Or.y+rr,pr.x+Dn,pr.y+rr];if(Jd(x,m,_i))return _e(Ye),!0}else if(t8(ut,x,m))return _e(Ye),!0}}for(var ct=N.length-1;ct>=0;ct--){var st=N[ct];st.isNode()?Te(st)||Ve(st):Fe(st)||Ve(st)||Ve(st,"source")||Ve(st,"target")}return $},x5.getAllInBox=function(x,m,k,S){var M=this.getCachedZSortedEles().interactive,O=[],N=Math.min(x,k),$=Math.max(x,k),H=Math.min(m,S),q=Math.max(m,S);x=N,k=$,m=H,S=q;for(var Y=Qd({x1:x,y1:m,x2:k,y2:S}),Z=0;Z0?Math.max(vr-Cs,0):Math.min(vr+Cs,0)},Yt=ut(Lt,vt),St=ut(Mt,Qe),_n=!1;Fe===q?Te=Math.abs(Yt)>Math.abs(St)?M:S:Fe===H||Fe===$?(Te=S,_n=!0):(Fe===O||Fe===N)&&(Te=M,_n=!0);var fn=Te===S,Xt=fn?St:Yt,Dn=fn?Mt:Lt,rr=wj(Dn),mr=!1;!(_n&&(Ve||st))&&(Fe===$&&Dn<0||Fe===H&&Dn>0||Fe===O&&Dn>0||Fe===N&&Dn<0)&&(rr*=-1,Xt=rr*Math.abs(Xt),mr=!0);var Pn;if(Ve){var gr=ct<0?1+ct:ct;Pn=gr*Xt}else{var kr=ct<0?Xt:0;Pn=kr+ct*rr}var Lr=function(vr){return Math.abs(vr)=Math.abs(Xt)},Er=Lr(Pn),Ir=Lr(Math.abs(Xt)-Math.abs(Pn)),Kn=Er||Ir;if(Kn&&!mr)if(fn){var pr=Math.abs(Dn)<=ce/2,Cr=Math.abs(Lt)<=ve/2;if(pr){var Or=(Y.x1+Y.x2)/2,_i=Y.y1,xs=Y.y2;k.segpts=[Or,_i,Or,xs]}else if(Cr){var va=(Y.y1+Y.y2)/2,Di=Y.x1,pi=Y.x2;k.segpts=[Di,va,pi,va]}else k.segpts=[Y.x1,Y.y2]}else{var fs=Math.abs(Dn)<=Z/2,Fs=Math.abs(Mt)<=me/2;if(fs){var ks=(Y.y1+Y.y2)/2,Rs=Y.x1,vo=Y.x2;k.segpts=[Rs,ks,vo,ks]}else if(Fs){var ja=(Y.x1+Y.x2)/2,Ma=Y.y1,Fo=Y.y2;k.segpts=[ja,Ma,ja,Fo]}else k.segpts=[Y.x2,Y.y1]}else if(fn){var er=Y.y1+Pn+(_e?ce/2*rr:0),K=Y.x1,Qn=Y.x2;k.segpts=[K,er,Qn,er]}else{var xr=Y.x1+Pn+(_e?Z/2*rr:0),ur=Y.y1,Ut=Y.y2;k.segpts=[xr,ur,xr,Ut]}},S1.tryToCorrectInvalidPoints=function(x,m){var k=x._private.rscratch;if(k.edgeType==="bezier"){var S=m.srcPos,M=m.tgtPos,O=m.srcW,N=m.srcH,$=m.tgtW,H=m.tgtH,q=m.srcShape,Y=m.tgtShape,Z=!X(k.startX)||!X(k.startY),ce=!X(k.arrowStartX)||!X(k.arrowStartY),ve=!X(k.endX)||!X(k.endY),me=!X(k.arrowEndX)||!X(k.arrowEndY),Le=3,_e=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth,Te=Le*_e,Fe=d5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.startX,y:k.startY}),Re=FeSt.poolIndex()){var _n=Yt;Yt=St,St=_n}var fn=Qe.srcPos=Yt.position(),Xt=Qe.tgtPos=St.position(),Dn=Qe.srcW=Yt.outerWidth(),rr=Qe.srcH=Yt.outerHeight(),mr=Qe.tgtW=St.outerWidth(),Pn=Qe.tgtH=St.outerHeight(),gr=Qe.srcShape=k.nodeShapes[m.getNodeShape(Yt)],kr=Qe.tgtShape=k.nodeShapes[m.getNodeShape(St)];Qe.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Lr=0;Lr0){var pr=O,Cr=g5(pr,Z7(k)),Or=g5(pr,Z7(Kn)),_i=Cr;if(Or2){var xs=g5(pr,{x:Kn[2],y:Kn[3]});xs<_i&&(k=[Kn[2],Kn[3]])}}}var va=mS(k,Lt,m.arrowShapes[$].spacing(x)+q),Di=mS(k,Lt,m.arrowShapes[$].gap(x)+q);if(ce.endX=Di[0],ce.endY=Di[1],ce.arrowEndX=va[0],ce.arrowEndY=va[1],Ye==="inside-to-node")k=[O.x,O.y];else if(st.units)k=this.manualEndptToPx(S,st);else if(Ye==="outside-to-line")k=ce.srcIntn;else if(Ye==="outside-to-node"||Ye==="outside-to-node-or-label"?Yt=Mt:(Ye==="outside-to-line"||Ye==="outside-to-line-or-label")&&(Yt=[N.x,N.y]),k=m.nodeShapes[this.getNodeShape(S)].intersectLine(O.x,O.y,S.outerWidth(),S.outerHeight(),Yt[0],Yt[1],0),Ye==="outside-to-node-or-label"||Ye==="outside-to-line-or-label"){var pi=S._private.rscratch,fs=pi.labelWidth,Fs=pi.labelHeight,ks=pi.labelX,Rs=pi.labelY,vo=fs/2,ja=Fs/2,Ma=S.pstyle("text-valign").value;Ma==="top"?Rs-=ja:Ma==="bottom"&&(Rs+=ja);var Fo=S.pstyle("text-halign").value;Fo==="left"?ks-=vo:Fo==="right"&&(ks+=vo);var er=Y9(Yt[0],Yt[1],[ks-vo,Rs-ja,ks+vo,Rs-ja,ks+vo,Rs+ja,ks-vo,Rs+ja],O.x,O.y);if(er.length>0){var K=N,Qn=g5(K,Z7(k)),xr=g5(K,Z7(er)),ur=Qn;if(xr2){var Ut=g5(K,{x:er[2],y:er[3]});Ut=me||Ye){_e={cp:Ve,segment:st};break}}if(_e)break}var vt=_e.cp,Qe=_e.segment,Lt=(me-Te)/Qe.length,Mt=Qe.t1-Qe.t0,ut=ve?Qe.t0+Mt*Lt:Qe.t1-Mt*Lt;ut=K9(0,ut,1),m=e8(vt.p0,vt.p1,vt.p2,ut),ce=rie(vt.p0,vt.p1,vt.p2,ut);break}case"straight":case"segments":case"haystack":{for(var Yt=0,St,_n,fn,Xt,Dn=S.allpts.length,rr=0;rr+3=me));rr+=2);var mr=me-_n,Pn=mr/St;Pn=K9(0,Pn,1),m=SZ(fn,Xt,Pn),ce=KS(fn,Xt);break}}N("labelX",Z,m.x),N("labelY",Z,m.y),N("labelAutoAngle",Z,ce)}};q("source"),q("target"),this.applyLabelDimensions(x)}},Mm.applyLabelDimensions=function(x){this.applyPrefixedLabelDimensions(x),x.isEdge()&&(this.applyPrefixedLabelDimensions(x,"source"),this.applyPrefixedLabelDimensions(x,"target"))},Mm.applyPrefixedLabelDimensions=function(x,m){var k=x._private,S=this.getLabelText(x,m),M=this.calculateLabelDimensions(x,S),O=x.pstyle("line-height").pfValue,N=x.pstyle("text-wrap").strValue,$=nb(k.rscratch,"labelWrapCachedLines",m)||[],H=N!=="wrap"?1:Math.max($.length,1),q=M.height/H,Y=q*O,Z=M.width,ce=M.height+(H-1)*(O-1)*q;ty(k.rstyle,"labelWidth",m,Z),ty(k.rscratch,"labelWidth",m,Z),ty(k.rstyle,"labelHeight",m,ce),ty(k.rscratch,"labelHeight",m,ce),ty(k.rscratch,"labelLineHeight",m,Y)},Mm.getLabelText=function(x,m){var k=x._private,S=m?m+"-":"",M=x.pstyle(S+"label").strValue,O=x.pstyle("text-transform").value,N=function(mr,Pn){return Pn?(ty(k.rscratch,mr,m,Pn),Pn):nb(k.rscratch,mr,m)};if(!M)return"";O=="none"||(O=="uppercase"?M=M.toUpperCase():O=="lowercase"&&(M=M.toLowerCase()));var $=x.pstyle("text-wrap").value;if($==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",Y=M.split(` +`),Z=x.pstyle("text-max-width").pfValue,ce=x.pstyle("text-overflow-wrap").value,ve=ce==="anywhere",me=[],Le=/[\s\u200b]+/,_e=ve?"":" ",Te=0;TeZ){for(var st=Fe.split(Le),Ye="",vt=0;vtYt)break;St+=M[Xt],Xt===M.length-1&&(fn=!0)}return fn||(St+=_n),St}return M},Mm.getLabelJustification=function(x){var m=x.pstyle("text-justification").strValue,k=x.pstyle("text-halign").strValue;if(m==="auto")if(x.isNode())switch(k){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return m},Mm.calculateLabelDimensions=function(x,m){var k=this,S=ud(m,x._private.labelDimsKey),M=k.labelDimCache||(k.labelDimCache=[]),O=M[S];if(O!=null)return O;var N=0,$=x.pstyle("font-style").strValue,H=x.pstyle("font-size").pfValue,q=x.pstyle("font-family").strValue,Y=x.pstyle("font-weight").strValue,Z=this.labelCalcCanvas,ce=this.labelCalcCanvasContext;if(!Z){Z=this.labelCalcCanvas=document.createElement("canvas"),ce=this.labelCalcCanvasContext=Z.getContext("2d");var ve=Z.style;ve.position="absolute",ve.left="-9999px",ve.top="-9999px",ve.zIndex="-1",ve.visibility="hidden",ve.pointerEvents="none"}ce.font="".concat($," ").concat(Y," ").concat(H,"px ").concat(q);for(var me=0,Le=0,_e=m.split(` +`),Te=0;Te<_e.length;Te++){var Fe=_e[Te],Re=ce.measureText(Fe),Ve=Math.ceil(Re.width),ct=H;me=Math.max(Ve,me),Le+=ct}return me+=N,Le+=N,M[S]={width:me,height:Le}},Mm.calculateLabelAngle=function(x,m){var k=x._private,S=k.rscratch,M=x.isEdge(),O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=N.strValue;return $==="none"?0:M&&$==="autorotate"?S.labelAutoAngle:$==="autorotate"?0:N.pfValue},Mm.calculateLabelAngles=function(x){var m=this,k=x.isEdge(),S=x._private,M=S.rscratch;M.labelAngle=m.calculateLabelAngle(x),k&&(M.sourceLabelAngle=m.calculateLabelAngle(x,"source"),M.targetLabelAngle=m.calculateLabelAngle(x,"target"))};var oz={},cz=28,uz=!1;oz.getNodeShape=function(x){var m=this,k=x.pstyle("shape").value;if(k==="cutrectangle"&&(x.width()1&&arguments[1]!==void 0?arguments[1]:!0;if(m.merge(N),$)for(var H=0;H=x.desktopTapThreshold2}var tw=M(K);Vl&&(x.hoverData.tapholdCancelled=!0);var cy=function(){var Dm=x.hoverData.dragDelta=x.hoverData.dragDelta||[];Dm.length===0?(Dm.push(wo[0]),Dm.push(wo[1])):(Dm[0]+=wo[0],Dm[1]+=wo[1])};xr=!0,S($a,["mousemove","vmousemove","tapdrag"],K,{x:vr[0],y:vr[1]});var E8=function(){x.data.bgActivePosistion=void 0,x.hoverData.selecting||ur.emit({originalEvent:K,type:"boxstart",position:{x:vr[0],y:vr[1]}}),qc[4]=1,x.hoverData.selecting=!0,x.redrawHint("select",!0),x.redraw()};if(x.hoverData.which===3){if(Vl){var T5={originalEvent:K,type:"cxtdrag",position:{x:vr[0],y:vr[1]}};wa?wa.emit(T5):ur.emit(T5),x.hoverData.cxtDragged=!0,(!x.hoverData.cxtOver||$a!==x.hoverData.cxtOver)&&(x.hoverData.cxtOver&&x.hoverData.cxtOver.emit({originalEvent:K,type:"cxtdragout",position:{x:vr[0],y:vr[1]}}),x.hoverData.cxtOver=$a,$a&&$a.emit({originalEvent:K,type:"cxtdragover",position:{x:vr[0],y:vr[1]}}))}}else if(x.hoverData.dragging){if(xr=!0,ur.panningEnabled()&&ur.userPanningEnabled()){var C8;if(x.hoverData.justStartedPan){var e_=x.hoverData.mdownPos;C8={x:(vr[0]-e_[0])*Ut,y:(vr[1]-e_[1])*Ut},x.hoverData.justStartedPan=!1}else C8={x:wo[0]*Ut,y:wo[1]*Ut};ur.panBy(C8),ur.emit("dragpan"),x.hoverData.dragged=!0}vr=x.projectIntoViewport(K.clientX,K.clientY)}else if(qc[4]==1&&(wa==null||wa.pannable())){if(Vl){if(!x.hoverData.dragging&&ur.boxSelectionEnabled()&&(tw||!ur.panningEnabled()||!ur.userPanningEnabled()))E8();else if(!x.hoverData.selecting&&ur.panningEnabled()&&ur.userPanningEnabled()){var E5=O(wa,x.hoverData.downs);E5&&(x.hoverData.dragging=!0,x.hoverData.justStartedPan=!0,qc[4]=0,x.data.bgActivePosistion=Z7(Cs),x.redrawHint("select",!0),x.redraw())}wa&&wa.pannable()&&wa.active()&&wa.unactivate()}}else{if(wa&&wa.pannable()&&wa.active()&&wa.unactivate(),(!wa||!wa.grabbed())&&$a!=Mc&&(Mc&&S(Mc,["mouseout","tapdragout"],K,{x:vr[0],y:vr[1]}),$a&&S($a,["mouseover","tapdragover"],K,{x:vr[0],y:vr[1]}),x.hoverData.last=$a),wa)if(Vl){if(ur.boxSelectionEnabled()&&tw)wa&&wa.grabbed()&&(_e(oh),wa.emit("freeon"),oh.emit("free"),x.dragData.didDrag&&(wa.emit("dragfreeon"),oh.emit("dragfree"))),E8();else if(wa&&wa.grabbed()&&x.nodeIsDraggable(wa)){var eg=!x.dragData.didDrag;eg&&x.redrawHint("eles",!0),x.dragData.didDrag=!0,x.hoverData.draggingEles||me(oh,{inDragLayer:!0});var _1={x:0,y:0};if(X(wo[0])&&X(wo[1])&&(_1.x+=wo[0],_1.y+=wo[1],eg)){var tg=x.hoverData.dragDelta;tg&&X(tg[0])&&X(tg[1])&&(_1.x+=tg[0],_1.y+=tg[1])}x.hoverData.draggingEles=!0,oh.silentShift(_1).emit("position drag"),x.redrawHint("drag",!0),x.redraw()}}else cy();xr=!0}if(qc[2]=vr[0],qc[3]=vr[1],xr)return K.stopPropagation&&K.stopPropagation(),K.preventDefault&&K.preventDefault(),!1}},!1);var Lt,Mt,ut;x.registerBinding(m,"mouseup",function(K){var Qn=x.hoverData.capture;if(Qn){x.hoverData.capture=!1;var xr=x.cy,ur=x.projectIntoViewport(K.clientX,K.clientY),Ut=x.selection,Vs=x.findNearestElement(ur[0],ur[1],!0,!1),vr=x.dragData.possibleDragElements,Cs=x.hoverData.down,lo=M(K);if(x.data.bgActivePosistion&&(x.redrawHint("select",!0),x.redraw()),x.hoverData.tapholdCancelled=!0,x.data.bgActivePosistion=void 0,Cs&&Cs.unactivate(),x.hoverData.which===3){var qc={originalEvent:K,type:"cxttapend",position:{x:ur[0],y:ur[1]}};if(Cs?Cs.emit(qc):xr.emit(qc),!x.hoverData.cxtDragged){var $a={originalEvent:K,type:"cxttap",position:{x:ur[0],y:ur[1]}};Cs?Cs.emit($a):xr.emit($a)}x.hoverData.cxtDragged=!1,x.hoverData.which=null}else if(x.hoverData.which===1){if(S(Vs,["mouseup","tapend","vmouseup"],K,{x:ur[0],y:ur[1]}),!x.dragData.didDrag&&!x.hoverData.dragged&&!x.hoverData.selecting&&!x.hoverData.isOverThresholdDrag&&(S(Cs,["click","tap","vclick"],K,{x:ur[0],y:ur[1]}),Mt=!1,K.timeStamp-ut<=xr.multiClickDebounceTime()?(Lt&&clearTimeout(Lt),Mt=!0,ut=null,S(Cs,["dblclick","dbltap","vdblclick"],K,{x:ur[0],y:ur[1]})):(Lt=setTimeout(function(){Mt||S(Cs,["oneclick","onetap","voneclick"],K,{x:ur[0],y:ur[1]})},xr.multiClickDebounceTime()),ut=K.timeStamp)),Cs==null&&!x.dragData.didDrag&&!x.hoverData.selecting&&!x.hoverData.dragged&&!M(K)&&(xr.$(k).unselect(["tapunselect"]),vr.length>0&&x.redrawHint("eles",!0),x.dragData.possibleDragElements=vr=xr.collection()),Vs==Cs&&!x.dragData.didDrag&&!x.hoverData.selecting&&Vs!=null&&Vs._private.selectable&&(x.hoverData.dragging||(xr.selectionType()==="additive"||lo?Vs.selected()?Vs.unselect(["tapunselect"]):Vs.select(["tapselect"]):lo||(xr.$(k).unmerge(Vs).unselect(["tapunselect"]),Vs.select(["tapselect"]))),x.redrawHint("eles",!0)),x.hoverData.selecting){var Mc=xr.collection(x.getAllInBox(Ut[0],Ut[1],Ut[2],Ut[3]));x.redrawHint("select",!0),Mc.length>0&&x.redrawHint("eles",!0),xr.emit({type:"boxend",originalEvent:K,position:{x:ur[0],y:ur[1]}});var wa=function(Vl){return Vl.selectable()&&!Vl.selected()};xr.selectionType()==="additive"||lo||xr.$(k).unmerge(Mc).unselect(),Mc.emit("box").stdFilter(wa).select().emit("boxselect"),x.redraw()}if(x.hoverData.dragging&&(x.hoverData.dragging=!1,x.redrawHint("select",!0),x.redrawHint("eles",!0),x.redraw()),!Ut[4]){x.redrawHint("drag",!0),x.redrawHint("eles",!0);var wo=Cs&&Cs.grabbed();_e(vr),wo&&(Cs.emit("freeon"),vr.emit("free"),x.dragData.didDrag&&(Cs.emit("dragfreeon"),vr.emit("dragfree")))}}Ut[4]=0,x.hoverData.down=null,x.hoverData.cxtStarted=!1,x.hoverData.draggingEles=!1,x.hoverData.selecting=!1,x.hoverData.isOverThresholdDrag=!1,x.dragData.didDrag=!1,x.hoverData.dragged=!1,x.hoverData.dragDelta=[],x.hoverData.mdownPos=null,x.hoverData.mdownGPos=null}},!1);var Yt=function(K){if(!x.scrollingPage){var Qn=x.cy,xr=Qn.zoom(),ur=Qn.pan(),Ut=x.projectIntoViewport(K.clientX,K.clientY),Vs=[Ut[0]*xr+ur.x,Ut[1]*xr+ur.y];if(x.hoverData.draggingEles||x.hoverData.dragging||x.hoverData.cxtStarted||vt()){K.preventDefault();return}if(Qn.panningEnabled()&&Qn.userPanningEnabled()&&Qn.zoomingEnabled()&&Qn.userZoomingEnabled()){K.preventDefault(),x.data.wheelZooming=!0,clearTimeout(x.data.wheelTimeout),x.data.wheelTimeout=setTimeout(function(){x.data.wheelZooming=!1,x.redrawHint("eles",!0),x.redraw()},150);var vr;K.deltaY!=null?vr=K.deltaY/-250:K.wheelDeltaY!=null?vr=K.wheelDeltaY/1e3:vr=K.wheelDelta/1e3,vr=vr*x.wheelSensitivity;var Cs=K.deltaMode===1;Cs&&(vr*=33);var lo=Qn.zoom()*Math.pow(10,vr);K.type==="gesturechange"&&(lo=x.gestureStartZoom*K.scale),Qn.zoom({level:lo,renderedPosition:{x:Vs[0],y:Vs[1]}}),Qn.emit(K.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};x.registerBinding(x.container,"wheel",Yt,!0),x.registerBinding(m,"scroll",function(K){x.scrollingPage=!0,clearTimeout(x.scrollingPageTimeout),x.scrollingPageTimeout=setTimeout(function(){x.scrollingPage=!1},250)},!0),x.registerBinding(x.container,"gesturestart",function(K){x.gestureStartZoom=x.cy.zoom(),x.hasTouchStarted||K.preventDefault()},!0),x.registerBinding(x.container,"gesturechange",function(er){x.hasTouchStarted||Yt(er)},!0),x.registerBinding(x.container,"mouseout",function(K){var Qn=x.projectIntoViewport(K.clientX,K.clientY);x.cy.emit({originalEvent:K,type:"mouseout",position:{x:Qn[0],y:Qn[1]}})},!1),x.registerBinding(x.container,"mouseover",function(K){var Qn=x.projectIntoViewport(K.clientX,K.clientY);x.cy.emit({originalEvent:K,type:"mouseover",position:{x:Qn[0],y:Qn[1]}})},!1);var St,_n,fn,Xt,Dn,rr,mr,Pn,gr,kr,Lr,Er,Ir,Kn=function(K,Qn,xr,ur){return Math.sqrt((xr-K)*(xr-K)+(ur-Qn)*(ur-Qn))},pr=function(K,Qn,xr,ur){return(xr-K)*(xr-K)+(ur-Qn)*(ur-Qn)},Cr;x.registerBinding(x.container,"touchstart",Cr=function(K){if(x.hasTouchStarted=!0,!!Qe(K)){Fe(),x.touchData.capture=!0,x.data.bgActivePosistion=void 0;var Qn=x.cy,xr=x.touchData.now,ur=x.touchData.earlier;if(K.touches[0]){var Ut=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);xr[0]=Ut[0],xr[1]=Ut[1]}if(K.touches[1]){var Ut=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);xr[2]=Ut[0],xr[3]=Ut[1]}if(K.touches[2]){var Ut=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);xr[4]=Ut[0],xr[5]=Ut[1]}if(K.touches[1]){x.touchData.singleTouchMoved=!0,_e(x.dragData.touchDragEles);var Vs=x.findContainerClientCoords();gr=Vs[0],kr=Vs[1],Lr=Vs[2],Er=Vs[3],St=K.touches[0].clientX-gr,_n=K.touches[0].clientY-kr,fn=K.touches[1].clientX-gr,Xt=K.touches[1].clientY-kr,Ir=0<=St&&St<=Lr&&0<=fn&&fn<=Lr&&0<=_n&&_n<=Er&&0<=Xt&&Xt<=Er;var vr=Qn.pan(),Cs=Qn.zoom();Dn=Kn(St,_n,fn,Xt),rr=pr(St,_n,fn,Xt),mr=[(St+fn)/2,(_n+Xt)/2],Pn=[(mr[0]-vr.x)/Cs,(mr[1]-vr.y)/Cs];var lo=200,qc=lo*lo;if(rr=1){for(var ub=x.touchData.startPosition=[null,null,null,null,null,null],V0=0;V0=x.touchTapThreshold2}if(Qn&&x.touchData.cxt){K.preventDefault();var ub=K.touches[0].clientX-gr,V0=K.touches[0].clientY-kr,Xp=K.touches[1].clientX-gr,fd=K.touches[1].clientY-kr,tw=pr(ub,V0,Xp,fd),cy=tw/rr,E8=150,T5=E8*E8,C8=1.5,e_=C8*C8;if(cy>=e_||tw>=T5){x.touchData.cxt=!1,x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var E5={originalEvent:K,type:"cxttapend",position:{x:Ut[0],y:Ut[1]}};x.touchData.start?(x.touchData.start.unactivate().emit(E5),x.touchData.start=null):ur.emit(E5)}}if(Qn&&x.touchData.cxt){var E5={originalEvent:K,type:"cxtdrag",position:{x:Ut[0],y:Ut[1]}};x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.touchData.start?x.touchData.start.emit(E5):ur.emit(E5),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxtDragged=!0;var eg=x.findNearestElement(Ut[0],Ut[1],!0,!0);(!x.touchData.cxtOver||eg!==x.touchData.cxtOver)&&(x.touchData.cxtOver&&x.touchData.cxtOver.emit({originalEvent:K,type:"cxtdragout",position:{x:Ut[0],y:Ut[1]}}),x.touchData.cxtOver=eg,eg&&eg.emit({originalEvent:K,type:"cxtdragover",position:{x:Ut[0],y:Ut[1]}}))}else if(Qn&&K.touches[2]&&ur.boxSelectionEnabled())K.preventDefault(),x.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,x.touchData.selecting||ur.emit({originalEvent:K,type:"boxstart",position:{x:Ut[0],y:Ut[1]}}),x.touchData.selecting=!0,x.touchData.didSelect=!0,xr[4]=1,!xr||xr.length===0||xr[0]===void 0?(xr[0]=(Ut[0]+Ut[2]+Ut[4])/3,xr[1]=(Ut[1]+Ut[3]+Ut[5])/3,xr[2]=(Ut[0]+Ut[2]+Ut[4])/3+1,xr[3]=(Ut[1]+Ut[3]+Ut[5])/3+1):(xr[2]=(Ut[0]+Ut[2]+Ut[4])/3,xr[3]=(Ut[1]+Ut[3]+Ut[5])/3),x.redrawHint("select",!0),x.redraw();else if(Qn&&K.touches[1]&&!x.touchData.didSelect&&ur.zoomingEnabled()&&ur.panningEnabled()&&ur.userZoomingEnabled()&&ur.userPanningEnabled()){K.preventDefault(),x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var _1=x.dragData.touchDragEles;if(_1){x.redrawHint("drag",!0);for(var tg=0;tg<_1.length;tg++){var nw=_1[tg]._private;nw.grabbed=!1,nw.rscratch.inDragLayer=!1}}var Dm=x.touchData.start,ub=K.touches[0].clientX-gr,V0=K.touches[0].clientY-kr,Xp=K.touches[1].clientX-gr,fd=K.touches[1].clientY-kr,Bz=Kn(ub,V0,Xp,fd),Hie=Bz/Dn;if(Ir){var Uie=ub-St,t_=V0-_n,Vie=Xp-fn,Gie=fd-Xt,C5=(Uie+Vie)/2,Fz=(t_+Gie)/2,kk=ur.zoom(),ZI=kk*Hie,n_=ur.pan(),Rz=Pn[0]*kk+n_.x,jz=Pn[1]*kk+n_.y,Kie={x:-ZI/kk*(Rz-n_.x-C5)+Rz,y:-ZI/kk*(jz-n_.y-Fz)+jz};if(Dm&&Dm.active()){var _1=x.dragData.touchDragEles;_e(_1),x.redrawHint("drag",!0),x.redrawHint("eles",!0),Dm.unactivate().emit("freeon"),_1.emit("free"),x.dragData.didDrag&&(Dm.emit("dragfreeon"),_1.emit("dragfree"))}ur.viewport({zoom:ZI,pan:Kie,cancelOnFailedZoom:!0}),ur.emit("pinchzoom"),Dn=Bz,St=ub,_n=V0,fn=Xp,Xt=fd,x.pinching=!0}if(K.touches[0]){var Cs=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);Ut[0]=Cs[0],Ut[1]=Cs[1]}if(K.touches[1]){var Cs=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);Ut[2]=Cs[0],Ut[3]=Cs[1]}if(K.touches[2]){var Cs=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);Ut[4]=Cs[0],Ut[5]=Cs[1]}}else if(K.touches[0]&&!x.touchData.didSelect){var Qp=x.touchData.start,r_=x.touchData.last,eg;if(!x.hoverData.draggingEles&&!x.swipePanning&&(eg=x.findNearestElement(Ut[0],Ut[1],!0,!0)),Qn&&Qp!=null&&K.preventDefault(),Qn&&Qp!=null&&x.nodeIsDraggable(Qp))if(qc){var _1=x.dragData.touchDragEles,eO=!x.dragData.didDrag;eO&&me(_1,{inDragLayer:!0}),x.dragData.didDrag=!0;var Im={x:0,y:0};if(X($a[0])&&X($a[1])&&(Im.x+=$a[0],Im.y+=$a[1],eO)){x.redrawHint("eles",!0);var ng=x.touchData.dragDelta;ng&&X(ng[0])&&X(ng[1])&&(Im.x+=ng[0],Im.y+=ng[1])}x.hoverData.draggingEles=!0,_1.silentShift(Im).emit("position drag"),x.redrawHint("drag",!0),x.touchData.startPosition[0]==Vs[0]&&x.touchData.startPosition[1]==Vs[1]&&x.redrawHint("eles",!0),x.redraw()}else{var ng=x.touchData.dragDelta=x.touchData.dragDelta||[];ng.length===0?(ng.push($a[0]),ng.push($a[1])):(ng[0]+=$a[0],ng[1]+=$a[1])}if(S(Qp||eg,["touchmove","tapdrag","vmousemove"],K,{x:Ut[0],y:Ut[1]}),(!Qp||!Qp.grabbed())&&eg!=r_&&(r_&&r_.emit({originalEvent:K,type:"tapdragout",position:{x:Ut[0],y:Ut[1]}}),eg&&eg.emit({originalEvent:K,type:"tapdragover",position:{x:Ut[0],y:Ut[1]}})),x.touchData.last=eg,Qn)for(var tg=0;tg0&&!x.hoverData.draggingEles&&!x.swipePanning&&x.data.bgActivePosistion!=null&&(x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.redraw())}},!1);var _i;x.registerBinding(m,"touchcancel",_i=function(K){var Qn=x.touchData.start;x.touchData.capture=!1,Qn&&Qn.unactivate()});var xs,va,Di,pi;if(x.registerBinding(m,"touchend",xs=function(K){var Qn=x.touchData.start,xr=x.touchData.capture;if(xr)K.touches.length===0&&(x.touchData.capture=!1),K.preventDefault();else return;var ur=x.selection;x.swipePanning=!1,x.hoverData.draggingEles=!1;var Ut=x.cy,Vs=Ut.zoom(),vr=x.touchData.now,Cs=x.touchData.earlier;if(K.touches[0]){var lo=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);vr[0]=lo[0],vr[1]=lo[1]}if(K.touches[1]){var lo=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);vr[2]=lo[0],vr[3]=lo[1]}if(K.touches[2]){var lo=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);vr[4]=lo[0],vr[5]=lo[1]}Qn&&Qn.unactivate();var qc;if(x.touchData.cxt){if(qc={originalEvent:K,type:"cxttapend",position:{x:vr[0],y:vr[1]}},Qn?Qn.emit(qc):Ut.emit(qc),!x.touchData.cxtDragged){var $a={originalEvent:K,type:"cxttap",position:{x:vr[0],y:vr[1]}};Qn?Qn.emit($a):Ut.emit($a)}x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!1,x.touchData.start=null,x.redraw();return}if(!K.touches[2]&&Ut.boxSelectionEnabled()&&x.touchData.selecting){x.touchData.selecting=!1;var Mc=Ut.collection(x.getAllInBox(ur[0],ur[1],ur[2],ur[3]));ur[0]=void 0,ur[1]=void 0,ur[2]=void 0,ur[3]=void 0,ur[4]=0,x.redrawHint("select",!0),Ut.emit({type:"boxend",originalEvent:K,position:{x:vr[0],y:vr[1]}});var wa=function(T5){return T5.selectable()&&!T5.selected()};Mc.emit("box").stdFilter(wa).select().emit("boxselect"),Mc.nonempty()&&x.redrawHint("eles",!0),x.redraw()}if(Qn!=null&&Qn.unactivate(),K.touches[2])x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);else if(!K.touches[1]){if(!K.touches[0]){if(!K.touches[0]){x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var wo=x.dragData.touchDragEles;if(Qn!=null){var oh=Qn._private.grabbed;_e(wo),x.redrawHint("drag",!0),x.redrawHint("eles",!0),oh&&(Qn.emit("freeon"),wo.emit("free"),x.dragData.didDrag&&(Qn.emit("dragfreeon"),wo.emit("dragfree"))),S(Qn,["touchend","tapend","vmouseup","tapdragout"],K,{x:vr[0],y:vr[1]}),Qn.unactivate(),x.touchData.start=null}else{var Vl=x.findNearestElement(vr[0],vr[1],!0,!0);S(Vl,["touchend","tapend","vmouseup","tapdragout"],K,{x:vr[0],y:vr[1]})}var cb=x.touchData.startPosition[0]-vr[0],ub=cb*cb,V0=x.touchData.startPosition[1]-vr[1],Xp=V0*V0,fd=ub+Xp,tw=fd*Vs*Vs;x.touchData.singleTouchMoved||(Qn||Ut.$(":selected").unselect(["tapunselect"]),S(Qn,["tap","vclick"],K,{x:vr[0],y:vr[1]}),va=!1,K.timeStamp-pi<=Ut.multiClickDebounceTime()?(Di&&clearTimeout(Di),va=!0,pi=null,S(Qn,["dbltap","vdblclick"],K,{x:vr[0],y:vr[1]})):(Di=setTimeout(function(){va||S(Qn,["onetap","voneclick"],K,{x:vr[0],y:vr[1]})},Ut.multiClickDebounceTime()),pi=K.timeStamp)),Qn!=null&&!x.dragData.didDrag&&Qn._private.selectable&&tw"u"){var fs=[],Fs=function(K){return{clientX:K.clientX,clientY:K.clientY,force:1,identifier:K.pointerId,pageX:K.pageX,pageY:K.pageY,radiusX:K.width/2,radiusY:K.height/2,screenX:K.screenX,screenY:K.screenY,target:K.target}},ks=function(K){return{event:K,touch:Fs(K)}},Rs=function(K){fs.push(ks(K))},vo=function(K){for(var Qn=0;Qn0)return Pn[0]}return null},ve=Object.keys(Z),me=0;me0?ce:Tj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=X9(M,O),q=2*H;if(Jv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Jv(m,k,this.points,N,$,M-q,O,[0,-1],S))return!0;var Y=M/2+2*S,Z=O/2+2*S,ce=[N-Y,$-Z,N-Y,$,N+Y,$,N+Y,$-Z];return!!(Jd(m,k,ce)||p5(m,k,q,q,N+M/2-H,$+O/2-H,S)||p5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},ew.registerNodeShapes=function(){var x=this.nodeShapes={},m=this;this.generateEllipse(),this.generatePolygon("triangle",hd(3,0)),this.generateRoundPolygon("round-triangle",hd(3,0)),this.generatePolygon("rectangle",hd(4,0)),x.square=x.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var k=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",k),this.generateRoundPolygon("round-diamond",k)}this.generatePolygon("pentagon",hd(5,0)),this.generateRoundPolygon("round-pentagon",hd(5,0)),this.generatePolygon("hexagon",hd(6,0)),this.generateRoundPolygon("round-hexagon",hd(6,0)),this.generatePolygon("heptagon",hd(7,0)),this.generateRoundPolygon("round-heptagon",hd(7,0)),this.generatePolygon("octagon",hd(8,0)),this.generateRoundPolygon("round-octagon",hd(8,0));var S=new Array(20);{var M=pI(5,0),O=pI(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var $=0;$=m.deqFastCost*Ve)break}else if(q){if(Fe>=m.deqCost*ve||Fe>=m.deqAvgCost*ce)break}else if(Re>=m.deqNoDrawCost*GI)break;var ct=m.deq(S,_e,Le);if(ct.length>0)for(var st=0;st0&&(m.onDeqd(S,me),!q&&m.shouldRedraw(S,me,_e,Le)&&O())},$=m.priority||lI;M.beforeRender(N,$(S))}}}},sie=function(){function x(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Z3;d(this,x),this.idsByKey=new _m,this.keyForId=new _m,this.cachesByLvl=new _m,this.lvls=[],this.getKey=m,this.doesEleInvalidateKey=k}return v(x,[{key:"getIdsFor",value:function(k){k==null&&sh("Can not get id list for null key");var S=this.idsByKey,M=this.idsByKey.get(k);return M||(M=new J7,S.set(k,M)),M}},{key:"addIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).add(S)}},{key:"deleteIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).delete(S)}},{key:"getNumberOfIdsForKey",value:function(k){return k==null?0:this.getIdsFor(k).size}},{key:"updateKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);this.deleteIdForKey(M,S),this.addIdForKey(O,S),this.keyForId.set(S,O)}},{key:"deleteKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteIdForKey(M,S),this.keyForId.delete(S)}},{key:"keyHasChangedFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);return M!==O}},{key:"isInvalid",value:function(k){return this.keyHasChangedFor(k)||this.doesEleInvalidateKey(k)}},{key:"getCachesAt",value:function(k){var S=this.cachesByLvl,M=this.lvls,O=S.get(k);return O||(O=new _m,S.set(k,O),M.push(k)),O}},{key:"getCache",value:function(k,S){return this.getCachesAt(S).get(k)}},{key:"get",value:function(k,S){var M=this.getKey(k),O=this.getCache(M,S);return O!=null&&this.updateKeyMappingFor(k),O}},{key:"getForCachedKey",value:function(k,S){var M=this.keyForId.get(k.id()),O=this.getCache(M,S);return O}},{key:"hasCache",value:function(k,S){return this.getCachesAt(S).has(k)}},{key:"has",value:function(k,S){var M=this.getKey(k);return this.hasCache(M,S)}},{key:"setCache",value:function(k,S,M){M.key=k,this.getCachesAt(S).set(k,M)}},{key:"set",value:function(k,S,M){var O=this.getKey(k);this.setCache(O,S,M),this.updateKeyMappingFor(k)}},{key:"deleteCache",value:function(k,S){this.getCachesAt(S).delete(k)}},{key:"delete",value:function(k,S){var M=this.getKey(k);this.deleteCache(M,S)}},{key:"invalidateKey",value:function(k){var S=this;this.lvls.forEach(function(M){return S.deleteCache(k,M)})}},{key:"invalidate",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteKeyMappingFor(k);var O=this.doesEleInvalidateKey(k);return O&&this.invalidateKey(M),O||this.getNumberOfIdsForKey(M)===0}}]),x}(),pz=25,XS=50,QS=-4,KI=3,aie=7.99,oie=8,cie=1024,uie=1024,lie=1024,hie=.2,fie=.8,die=10,gie=.15,pie=.1,bie=.9,mie=.9,vie=100,wie=1,w8={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},yie=z0({getKey:null,doesEleInvalidateKey:Z3,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:f5,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),pk=function(m,k){var S=this;S.renderer=m,S.onDequeues=[];var M=yie(k);xt(S,M),S.lookup=new sie(M.getKey,M.doesEleInvalidateKey),S.setupDequeueing()},Cf=pk.prototype;Cf.reasons=w8,Cf.getTextureQueue=function(x){var m=this;return m.eleImgCaches=m.eleImgCaches||{},m.eleImgCaches[x]=m.eleImgCaches[x]||[]},Cf.getRetiredTextureQueue=function(x){var m=this,k=m.eleImgCaches.retired=m.eleImgCaches.retired||{},S=k[x]=k[x]||[];return S},Cf.getElementQueue=function(){var x=this,m=x.eleCacheQueue=x.eleCacheQueue||new G9(function(k,S){return S.reqs-k.reqs});return m},Cf.getElementKeyToQueue=function(){var x=this,m=x.eleKeyToCacheQueue=x.eleKeyToCacheQueue||{};return m},Cf.getElement=function(x,m,k,S,M){var O=this,N=this.renderer,$=N.cy.zoom(),H=this.lookup;if(!m||m.w===0||m.h===0||isNaN(m.w)||isNaN(m.h)||!x.visible()||x.removed()||!O.allowEdgeTxrCaching&&x.isEdge()||!O.allowParentTxrCaching&&x.isParent())return null;if(S==null&&(S=Math.ceil(fI($*k))),S=aie||S>KI)return null;var q=Math.pow(2,S),Y=m.h*q,Z=m.w*q,ce=N.eleTextBiggerThanMin(x,q);if(!this.isVisible(x,ce))return null;var ve=H.get(x,S);if(ve&&ve.invalidated&&(ve.invalidated=!1,ve.texture.invalidatedWidth-=ve.width),ve)return ve;var me;if(Y<=pz?me=pz:Y<=XS?me=XS:me=Math.ceil(Y/XS)*XS,Y>lie||Z>uie)return null;var Le=O.getTextureQueue(me),_e=Le[Le.length-2],Te=function(){return O.recycleTexture(me,Z)||O.addTexture(me,Z)};_e||(_e=Le[Le.length-1]),_e||(_e=Te()),_e.width-_e.usedWidthS;Mt--)Qe=O.getElement(x,m,k,Mt,w8.downscale);Lt()}else return O.queueElement(x,st.level-1),st;else{var ut;if(!Re&&!Ve&&!ct)for(var Yt=S-1;Yt>=QS;Yt--){var St=H.get(x,Yt);if(St){ut=St;break}}if(Fe(ut))return O.queueElement(x,S),ut;_e.context.translate(_e.usedWidth,0),_e.context.scale(q,q),this.drawElement(_e.context,x,m,ce,!1),_e.context.scale(1/q,1/q),_e.context.translate(-_e.usedWidth,0)}return ve={x:_e.usedWidth,texture:_e,level:S,scale:q,width:Z,height:Y,scaledLabelShown:ce},_e.usedWidth+=Math.ceil(Z+oie),_e.eleCaches.push(ve),H.set(x,S,ve),O.checkTextureFullness(_e),ve},Cf.invalidateElements=function(x){for(var m=0;m=hie*x.width&&this.retireTexture(x)},Cf.checkTextureFullness=function(x){var m=this,k=m.getTextureQueue(x.height);x.usedWidth/x.width>fie&&x.fullnessChecks>=die?ey(k,x):x.fullnessChecks++},Cf.retireTexture=function(x){var m=this,k=x.height,S=m.getTextureQueue(k),M=this.lookup;ey(S,x),x.retired=!0;for(var O=x.eleCaches,N=0;N=m)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,uS(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),ey(M,N),S.push(N),N}},Cf.queueElement=function(x,m){var k=this,S=k.getElementQueue(),M=k.getElementKeyToQueue(),O=this.getKey(x),N=M[O];if(N)N.level=Math.max(N.level,m),N.eles.merge(x),N.reqs++,S.updateItem(N);else{var $={eles:x.spawn().merge(x),level:m,reqs:1,key:O};S.push($),M[O]=$}},Cf.dequeue=function(x){for(var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=[],O=m.lookup,N=0;N0;N++){var $=k.pop(),H=$.key,q=$.eles[0],Y=O.hasCache(q,$.level);if(S[H]=null,Y)continue;M.push($);var Z=m.getBoundingBox(q);m.getElement(q,Z,x,$.level,w8.dequeue)}return M},Cf.removeFromQueue=function(x){var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=this.getKey(x),O=S[M];O!=null&&(O.eles.length===1?(O.reqs=Q7,k.updateItem(O),k.pop(),S[M]=null):O.eles.unmerge(x))},Cf.onDequeue=function(x){this.onDequeues.push(x)},Cf.offDequeue=function(x){ey(this.onDequeues,x)},Cf.setupDequeueing=gz.setupDequeueing({deqRedrawThreshold:vie,deqCost:gie,deqAvgCost:pie,deqNoDrawCost:bie,deqFastCost:mie,deq:function(m,k,S){return m.dequeue(k,S)},onDeqd:function(m,k){for(var S=0;S=kie||k>JS)return null}S.validateLayersElesOrdering(k,x);var H=S.layersByLevel,q=Math.pow(2,k),Y=H[k]=H[k]||[],Z,ce=S.levelIsComplete(k,x),ve,me=function(){var Lt=function(_n){if(S.validateLayersElesOrdering(_n,x),S.levelIsComplete(_n,x))return ve=H[_n],!0},Mt=function(_n){if(!ve)for(var fn=k+_n;bk<=fn&&fn<=JS&&!Lt(fn);fn+=_n);};Mt(1),Mt(-1);for(var ut=Y.length-1;ut>=0;ut--){var Yt=Y[ut];Yt.invalid&&ey(Y,Yt)}};if(!ce)me();else return Y;var Le=function(){if(!Z){Z=Qd();for(var Lt=0;Ltvz)return null;var Yt=S.makeLayer(Z,k);if(Mt!=null){var St=Y.indexOf(Mt)+1;Y.splice(St,0,Yt)}else(Lt.insert===void 0||Lt.insert)&&Y.unshift(Yt);return Yt};if(S.skipping&&!$)return null;for(var Te=null,Fe=x.length/xie,Re=!$,Ve=0;Ve=Fe||!kj(Te.bb,ct.boundingBox()))&&(Te=_e({insert:!0,after:Te}),!Te))return null;ve||Re?S.queueLayer(Te,ct):S.drawEleInLayer(Te,ct,k,m),Te.eles.push(ct),Ye[k]=Te}return ve||(Re?null:Y)},t0.getEleLevelForLayerLevel=function(x,m){return x},t0.drawEleInLayer=function(x,m,k,S){var M=this,O=this.renderer,N=x.context,$=m.boundingBox();$.w===0||$.h===0||!m.visible()||(k=M.getEleLevelForLayerLevel(k,S),O.setImgSmoothing(N,!1),O.drawCachedElement(N,m,null,null,k,wz),O.setImgSmoothing(N,!0))},t0.levelIsComplete=function(x,m){var k=this,S=k.layersByLevel[x];if(!S||S.length===0)return!1;for(var M=0,O=0;O0||N.invalid)return!1;M+=N.eles.length}return M===m.length},t0.validateLayersElesOrdering=function(x,m){var k=this.layersByLevel[x];if(k)for(var S=0;S0){m=!0;break}}return m},t0.invalidateElements=function(x){var m=this;x.length!==0&&(m.lastInvalidationTime=Vp(),!(x.length===0||!m.haveLayers())&&m.updateElementsInLayers(x,function(S,M,O){m.invalidateLayer(S)}))},t0.invalidateLayer=function(x){if(this.lastInvalidationTime=Vp(),!x.invalid){var m=x.level,k=x.eles,S=this.layersByLevel[m];ey(S,x),x.elesQueue=[],x.invalid=!0,x.replacement&&(x.replacement.invalid=!0);for(var M=0;M3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$=m._private.rscratch;if(!(O&&!m.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;k&&(H=k,x.translate(-H.x1,-H.y1));var q=O?m.pstyle("opacity").value:1,Y=O?m.pstyle("line-opacity").value:1,Z=m.pstyle("curve-style").value,ce=m.pstyle("line-style").value,ve=m.pstyle("width").pfValue,me=m.pstyle("line-cap").value,Le=q*Y,_e=q*Y,Te=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Le;Z==="straight-triangle"?(N.eleStrokeStyle(x,m,ut),N.drawEdgeTrianglePath(m,x,$.allpts)):(x.lineWidth=ve,x.lineCap=me,N.eleStrokeStyle(x,m,ut),N.drawEdgePath(m,x,$.allpts,ce),x.lineCap="butt")},Fe=function(){M&&N.drawEdgeOverlay(x,m)},Re=function(){M&&N.drawEdgeUnderlay(x,m)},Ve=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_e;N.drawArrowheads(x,m,ut)},ct=function(){N.drawElementText(x,m,null,S)};x.lineJoin="round";var st=m.pstyle("ghost").value==="yes";if(st){var Ye=m.pstyle("ghost-offset-x").pfValue,vt=m.pstyle("ghost-offset-y").pfValue,Qe=m.pstyle("ghost-opacity").value,Lt=Le*Qe;x.translate(Ye,vt),Te(Lt),Ve(Lt),x.translate(-Ye,-vt)}Re(),Te(),Ve(),Fe(),ct(),k&&x.translate(H.x1,H.y1)}};var Sz=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S){if(S.visible()){var M=S.pstyle("".concat(m,"-opacity")).value;if(M!==0){var O=this,N=O.usePaths(),$=S._private.rscratch,H=S.pstyle("".concat(m,"-padding")).pfValue,q=2*H,Y=S.pstyle("".concat(m,"-color")).value;k.lineWidth=q,$.edgeType==="self"&&!N?k.lineCap="butt":k.lineCap="round",O.colorStrokeStyle(k,Y[0],Y[1],Y[2],M),O.drawEdgePath(S,k,$.allpts,"solid")}}}};ob.drawEdgeOverlay=Sz("overlay"),ob.drawEdgeUnderlay=Sz("underlay"),ob.drawEdgePath=function(x,m,k,S){var M=x._private.rscratch,O=m,N,$=!1,H=this.usePaths(),q=x.pstyle("line-dash-pattern").pfValue,Y=x.pstyle("line-dash-offset").pfValue;if(H){var Z=k.join("$"),ce=M.pathCacheKey&&M.pathCacheKey===Z;ce?(N=m=M.pathCache,$=!0):(N=m=new Path2D,M.pathCacheKey=Z,M.pathCache=N)}if(O.setLineDash)switch(S){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=Y;break;case"solid":O.setLineDash([]);break}if(!$&&!M.badLine)switch(m.beginPath&&m.beginPath(),m.moveTo(k[0],k[1]),M.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ve=2;ve+35&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(S==null){if(O&&!N.eleTextBiggerThanMin(m))return}else if(S===!1)return;if(m.isNode()){var $=m.pstyle("label");if(!$||!$.value)return;var H=N.getLabelJustification(m);x.textAlign=H,x.textBaseline="bottom"}else{var q=m.element()._private.rscratch.badLine,Y=m.pstyle("label"),Z=m.pstyle("source-label"),ce=m.pstyle("target-label");if(q||(!Y||!Y.value)&&(!Z||!Z.value)&&(!ce||!ce.value))return;x.textAlign="center",x.textBaseline="bottom"}var ve=!k,me;k&&(me=k,x.translate(-me.x1,-me.y1)),M==null?(N.drawText(x,m,null,ve,O),m.isEdge()&&(N.drawText(x,m,"source",ve,O),N.drawText(x,m,"target",ve,O))):N.drawText(x,m,M,ve,O),k&&x.translate(me.x1,me.y1)},k5.getFontCache=function(x){var m;this.fontCaches=this.fontCaches||[];for(var k=0;k2&&arguments[2]!==void 0?arguments[2]:!0,S=m.pstyle("font-style").strValue,M=m.pstyle("font-size").pfValue+"px",O=m.pstyle("font-family").strValue,N=m.pstyle("font-weight").strValue,$=k?m.effectiveOpacity()*m.pstyle("text-opacity").value:1,H=m.pstyle("text-outline-opacity").value*$,q=m.pstyle("color").value,Y=m.pstyle("text-outline-color").value;x.font=S+" "+N+" "+M+" "+O,x.lineJoin="round",this.colorFillStyle(x,q[0],q[1],q[2],$),this.colorStrokeStyle(x,Y[0],Y[1],Y[2],H)};function YI(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;x.beginPath(),x.moveTo(m+O,k),x.lineTo(m+S-O,k),x.quadraticCurveTo(m+S,k,m+S,k+O),x.lineTo(m+S,k+M-O),x.quadraticCurveTo(m+S,k+M,m+S-O,k+M),x.lineTo(m+O,k+M),x.quadraticCurveTo(m,k+M,m,k+M-O),x.lineTo(m,k+O),x.quadraticCurveTo(m,k,m+O,k),x.closePath(),N?x.stroke():x.fill()}k5.getTextAngle=function(x,m){var k,S=x._private,M=S.rscratch,O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=nb(M,"labelAngle",m);return N.strValue==="autorotate"?k=x.isEdge()?$:0:N.strValue==="none"?k=0:k=N.pfValue,k},k5.drawText=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=m._private,N=O.rscratch,$=M?m.effectiveOpacity():1;if(!(M&&($===0||m.pstyle("text-opacity").value===0))){k==="main"&&(k=null);var H=nb(N,"labelX",k),q=nb(N,"labelY",k),Y,Z,ce=this.getLabelText(m,k);if(ce!=null&&ce!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(x,m,M);var ve=k?k+"-":"",me=nb(N,"labelWidth",k),Le=nb(N,"labelHeight",k),_e=m.pstyle(ve+"text-margin-x").pfValue,Te=m.pstyle(ve+"text-margin-y").pfValue,Fe=m.isEdge(),Re=m.pstyle("text-halign").value,Ve=m.pstyle("text-valign").value;Fe&&(Re="center",Ve="center"),H+=_e,q+=Te;var ct;switch(S?ct=this.getTextAngle(m,k):ct=0,ct!==0&&(Y=H,Z=q,x.translate(Y,Z),x.rotate(ct),H=0,q=0),Ve){case"top":break;case"center":q+=Le/2;break;case"bottom":q+=Le;break}var st=m.pstyle("text-background-opacity").value,Ye=m.pstyle("text-border-opacity").value,vt=m.pstyle("text-border-width").pfValue,Qe=m.pstyle("text-background-padding").pfValue,Lt=m.pstyle("text-background-shape").strValue,Mt=Lt.indexOf("round")===0,ut=2;if(st>0||vt>0&&Ye>0){var Yt=H-Qe;switch(Re){case"left":Yt-=me;break;case"center":Yt-=me/2;break}var St=q-Le-Qe,_n=me+2*Qe,fn=Le+2*Qe;if(st>0){var Xt=x.fillStyle,Dn=m.pstyle("text-background-color").value;x.fillStyle="rgba("+Dn[0]+","+Dn[1]+","+Dn[2]+","+st*$+")",Mt?YI(x,Yt,St,_n,fn,ut):x.fillRect(Yt,St,_n,fn),x.fillStyle=Xt}if(vt>0&&Ye>0){var rr=x.strokeStyle,mr=x.lineWidth,Pn=m.pstyle("text-border-color").value,gr=m.pstyle("text-border-style").value;if(x.strokeStyle="rgba("+Pn[0]+","+Pn[1]+","+Pn[2]+","+Ye*$+")",x.lineWidth=vt,x.setLineDash)switch(gr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"double":x.lineWidth=vt/4,x.setLineDash([]);break;case"solid":x.setLineDash([]);break}if(Mt?YI(x,Yt,St,_n,fn,ut,"stroke"):x.strokeRect(Yt,St,_n,fn),gr==="double"){var kr=vt/2;Mt?YI(x,Yt+kr,St+kr,_n-kr*2,fn-kr*2,ut,"stroke"):x.strokeRect(Yt+kr,St+kr,_n-kr*2,fn-kr*2)}x.setLineDash&&x.setLineDash([]),x.lineWidth=mr,x.strokeStyle=rr}}var Lr=2*m.pstyle("text-outline-width").pfValue;if(Lr>0&&(x.lineWidth=Lr),m.pstyle("text-wrap").value==="wrap"){var Er=nb(N,"labelWrapCachedLines",k),Ir=nb(N,"labelLineHeight",k),Kn=me/2,pr=this.getLabelJustification(m);switch(pr==="auto"||(Re==="left"?pr==="left"?H+=-me:pr==="center"&&(H+=-Kn):Re==="center"?pr==="left"?H+=-Kn:pr==="right"&&(H+=Kn):Re==="right"&&(pr==="center"?H+=Kn:pr==="right"&&(H+=me))),Ve){case"top":q-=(Er.length-1)*Ir;break;case"center":case"bottom":q-=(Er.length-1)*Ir;break}for(var Cr=0;Cr0&&x.strokeText(Er[Cr],H,q),x.fillText(Er[Cr],H,q),q+=Ir}else Lr>0&&x.strokeText(ce,H,q),x.fillText(ce,H,q);ct!==0&&(x.rotate(-ct),x.translate(-Y,-Z))}}};var y8={};y8.drawNode=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$,H,q=m._private,Y=q.rscratch,Z=m.position();if(!(!X(Z.x)||!X(Z.y))&&!(O&&!m.visible())){var ce=O?m.effectiveOpacity():1,ve=N.usePaths(),me,Le=!1,_e=m.padding();$=m.width()+2*_e,H=m.height()+2*_e;var Te;k&&(Te=k,x.translate(-Te.x1,-Te.y1));for(var Fe=m.pstyle("background-image"),Re=Fe.value,Ve=new Array(Re.length),ct=new Array(Re.length),st=0,Ye=0;Ye0&&arguments[0]!==void 0?arguments[0]:Yt;N.eleFillStyle(x,m,er)},kr=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fn;N.colorStrokeStyle(x,St[0],St[1],St[2],er)},Lr=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:mr;N.colorStrokeStyle(x,Dn[0],Dn[1],Dn[2],er)},Er=function(er,K,Qn,xr){var ur=N.nodePathCache=N.nodePathCache||[],Ut=ld(Qn==="polygon"?Qn+","+xr.join(","):Qn,""+K,""+er),Vs=ur[Ut],vr,Cs=!1;return Vs!=null?(vr=Vs,Cs=!0,Y.pathCache=vr):(vr=new Path2D,ur[Ut]=Y.pathCache=vr),{path:vr,cacheHit:Cs}},Ir=m.pstyle("shape").strValue,Kn=m.pstyle("shape-polygon-points").pfValue;if(ve){x.translate(Z.x,Z.y);var pr=Er($,H,Ir,Kn);me=pr.path,Le=pr.cacheHit}var Cr=function(){if(!Le){var er=Z;ve&&(er={x:0,y:0}),N.nodeShapes[N.getNodeShape(m)].draw(me||x,er.x,er.y,$,H)}ve?x.fill(me):x.fill()},Or=function(){for(var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Qn=q.backgrounding,xr=0,ur=0;ur0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ce;N.hasPie(m)&&(N.drawPie(x,m,K),er&&(ve||N.nodeShapes[N.getNodeShape(m)].draw(x,Z.x,Z.y,$,H)))},xs=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,K=(Mt>0?Mt:-Mt)*er,Qn=Mt>0?0:255;Mt!==0&&(N.colorFillStyle(x,Qn,Qn,Qn,K),ve?x.fill(me):x.fill())},va=function(){if(ut>0){if(x.lineWidth=ut,x.lineCap="butt",x.setLineDash)switch(_n){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}if(ve?x.stroke(me):x.stroke(),_n==="double"){x.lineWidth=ut/3;var er=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(me):x.stroke(),x.globalCompositeOperation=er}x.setLineDash&&x.setLineDash([])}},Di=function(){if(Xt>0){if(x.lineWidth=Xt,x.lineCap="butt",x.setLineDash)switch(rr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}var er=Z;ve&&(er={x:0,y:0});var K=N.getNodeShape(m),Qn=($+ut+(Xt+Pn))/$,xr=(H+ut+(Xt+Pn))/H,ur=$*Qn,Ut=H*xr,Vs=N.nodeShapes[K].points,vr;if(ve){var Cs=Er(ur,Ut,K,Vs);vr=Cs.path}if(K==="ellipse")N.drawEllipsePath(vr||x,er.x,er.y,ur,Ut);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(K)){var lo=0,qc=0,$a=0;K==="round-diamond"?lo=(ut+Pn+Xt)*1.4:K==="round-heptagon"?(lo=(ut+Pn+Xt)*1.075,$a=-(ut/2+Pn+Xt)/35):K==="round-hexagon"?lo=(ut+Pn+Xt)*1.12:K==="round-pentagon"?(lo=(ut+Pn+Xt)*1.13,$a=-(ut/2+Pn+Xt)/15):K==="round-tag"?(lo=(ut+Pn+Xt)*1.12,qc=(ut/2+Xt+Pn)*.07):K==="round-triangle"&&(lo=(ut+Pn+Xt)*(Math.PI/2),$a=-(ut+Pn/2+Xt)/Math.PI),lo!==0&&(Qn=($+lo)/$,xr=(H+lo)/H),N.drawRoundPolygonPath(vr||x,er.x+qc,er.y+$a,$*Qn,H*xr,Vs)}else if(["roundrectangle","round-rectangle"].includes(K))N.drawRoundRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(["cutrectangle","cut-rectangle"].includes(K))N.drawCutRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(K))N.drawBottomRoundRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(K==="barrel")N.drawBarrelPath(vr||x,er.x,er.y,ur,Ut);else if(K.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(K)){var Mc=(ut+Xt+Pn)/$;Vs=pS(bS(Vs,Mc)),N.drawPolygonPath(vr||x,er.x,er.y,$,H,Vs)}else{var wa=(ut+Xt+Pn)/$;Vs=pS(bS(Vs,-wa)),N.drawPolygonPath(vr||x,er.x,er.y,$,H,Vs)}if(ve?x.stroke(vr):x.stroke(),rr==="double"){x.lineWidth=ut/3;var wo=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(vr):x.stroke(),x.globalCompositeOperation=wo}x.setLineDash&&x.setLineDash([])}},pi=function(){M&&N.drawNodeOverlay(x,m,Z,$,H)},fs=function(){M&&N.drawNodeUnderlay(x,m,Z,$,H)},Fs=function(){N.drawElementText(x,m,null,S)},ks=m.pstyle("ghost").value==="yes";if(ks){var Rs=m.pstyle("ghost-offset-x").pfValue,vo=m.pstyle("ghost-offset-y").pfValue,ja=m.pstyle("ghost-opacity").value,Ma=ja*ce;x.translate(Rs,vo),Lr(),Di(),gr(ja*Yt),Cr(),Or(Ma,!0),kr(ja*fn),va(),_i(Mt!==0||ut!==0),Or(Ma,!1),xs(Ma),x.translate(-Rs,-vo)}ve&&x.translate(-Z.x,-Z.y),fs(),ve&&x.translate(Z.x,Z.y),Lr(),Di(),gr(),Cr(),Or(ce,!0),kr(),va(),_i(Mt!==0||ut!==0),Or(ce,!1),xs(),ve&&x.translate(-Z.x,-Z.y),Fs(),pi(),k&&x.translate(Te.x1,Te.y1)}};var XI=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S,M,O,N){var $=this;if(S.visible()){var H=S.pstyle("".concat(m,"-padding")).pfValue,q=S.pstyle("".concat(m,"-opacity")).value,Y=S.pstyle("".concat(m,"-color")).value,Z=S.pstyle("".concat(m,"-shape")).value;if(q>0){if(M=M||S.position(),O==null||N==null){var ce=S.padding();O=S.width()+2*ce,N=S.height()+2*ce}$.colorFillStyle(k,Y[0],Y[1],Y[2],q),$.nodeShapes[Z].draw(k,M.x,M.y,O+H*2,N+H*2),k.fill()}}}};y8.drawNodeOverlay=XI("overlay"),y8.drawNodeUnderlay=XI("underlay"),y8.hasPie=function(x){return x=x[0],x._private.hasPie},y8.drawPie=function(x,m,k,S){m=m[0],S=S||m.position();var M=m.cy().style(),O=m.pstyle("pie-size"),N=S.x,$=S.y,H=m.width(),q=m.height(),Y=Math.min(H,q)/2,Z=0,ce=this.usePaths();ce&&(N=0,$=0),O.units==="%"?Y=Y*O.pfValue:O.pfValue!==void 0&&(Y=O.pfValue/2);for(var ve=1;ve<=M.pieBackgroundN;ve++){var me=m.pstyle("pie-"+ve+"-background-size").value,Le=m.pstyle("pie-"+ve+"-background-color").value,_e=m.pstyle("pie-"+ve+"-background-opacity").value*k,Te=me/100;Te+Z>1&&(Te=1-Z);var Fe=1.5*Math.PI+2*Math.PI*Z,Re=2*Math.PI*Te,Ve=Fe+Re;me===0||Z>=1||Z+Te>1||(x.beginPath(),x.moveTo(N,$),x.arc(N,$,Y,Fe,Ve),x.closePath(),this.colorFillStyle(x,Le[0],Le[1],Le[2],_e),x.fill(),Z+=Te)}};var Gg={},Pie=100;Gg.getPixelRatio=function(){var x=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var m=x.backingStorePixelRatio||x.webkitBackingStorePixelRatio||x.mozBackingStorePixelRatio||x.msBackingStorePixelRatio||x.oBackingStorePixelRatio||x.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/m},Gg.paintCache=function(x){for(var m=this.paintCaches=this.paintCaches||[],k=!0,S,M=0;MN.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(Y[N.NODE]=!0,Y[N.SELECT_BOX]=!0);var Fe=H.style(),Re=H.zoom(),Ve=M!==void 0?M:Re,ct=H.pan(),st={x:ct.x,y:ct.y},Ye={zoom:Re,pan:{x:ct.x,y:ct.y}},vt=N.prevViewport,Qe=vt===void 0||Ye.zoom!==vt.zoom||Ye.pan.x!==vt.pan.x||Ye.pan.y!==vt.pan.y;!Qe&&!(Le&&!me)&&(N.motionBlurPxRatio=1),O&&(st=O),Ve*=$,st.x*=$,st.y*=$;var Lt=N.getCachedZSortedEles();function Mt(Di,pi,fs,Fs,ks){var Rs=Di.globalCompositeOperation;Di.globalCompositeOperation="destination-out",N.colorFillStyle(Di,255,255,255,N.motionBlurTransparency),Di.fillRect(pi,fs,Fs,ks),Di.globalCompositeOperation=Rs}function ut(Di,pi){var fs,Fs,ks,Rs;!N.clearingMotionBlur&&(Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(fs={x:ct.x*ve,y:ct.y*ve},Fs=Re*ve,ks=N.canvasWidth*ve,Rs=N.canvasHeight*ve):(fs=st,Fs=Ve,ks=N.canvasWidth,Rs=N.canvasHeight),Di.setTransform(1,0,0,1,0,0),pi==="motionBlur"?Mt(Di,0,0,ks,Rs):!m&&(pi===void 0||pi)&&Di.clearRect(0,0,ks,Rs),k||(Di.translate(fs.x,fs.y),Di.scale(Fs,Fs)),O&&Di.translate(O.x,O.y),M&&Di.scale(M,M)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var Yt=N.data.bufferContexts[N.TEXTURE_BUFFER];Yt.setTransform(1,0,0,1,0,0),Yt.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:Yt,drawOnlyNodeLayer:!0,forcedPxRatio:$*N.textureMult});var Ye=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ye.mpan={x:(0-Ye.pan.x)/Ye.zoom,y:(0-Ye.pan.y)/Ye.zoom}}Y[N.DRAG]=!1,Y[N.NODE]=!1;var St=q.contexts[N.NODE],_n=N.textureCache.texture,Ye=N.textureCache.viewport;St.setTransform(1,0,0,1,0,0),ce?Mt(St,0,0,Ye.width,Ye.height):St.clearRect(0,0,Ye.width,Ye.height);var fn=Fe.core("outside-texture-bg-color").value,Xt=Fe.core("outside-texture-bg-opacity").value;N.colorFillStyle(St,fn[0],fn[1],fn[2],Xt),St.fillRect(0,0,Ye.width,Ye.height);var Re=H.zoom();ut(St,!1),St.clearRect(Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$),St.drawImage(_n,Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$)}else N.textureOnViewport&&!m&&(N.textureCache=null);var Dn=H.extent(),rr=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),mr=N.hideEdgesOnViewport&&rr,Pn=[];if(Pn[N.NODE]=!Y[N.NODE]&&ce&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Pn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Pn[N.DRAG]=!Y[N.DRAG]&&ce&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Pn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),Y[N.NODE]||k||S||Pn[N.NODE]){var gr=ce&&!Pn[N.NODE]&&ve!==1,St=m||(gr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),kr=ce&&!gr?"motionBlur":void 0;ut(St,kr),mr?N.drawCachedNodes(St,Lt.nondrag,$,Dn):N.drawLayeredElements(St,Lt.nondrag,$,Dn),N.debug&&N.drawDebugPoints(St,Lt.nondrag),!k&&!ce&&(Y[N.NODE]=!1)}if(!S&&(Y[N.DRAG]||k||Pn[N.DRAG])){var gr=ce&&!Pn[N.DRAG]&&ve!==1,St=m||(gr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ut(St,ce&&!gr?"motionBlur":void 0),mr?N.drawCachedNodes(St,Lt.drag,$,Dn):N.drawCachedElements(St,Lt.drag,$,Dn),N.debug&&N.drawDebugPoints(St,Lt.drag),!k&&!ce&&(Y[N.DRAG]=!1)}if(N.showFps||!S&&Y[N.SELECT_BOX]&&!k){var St=m||q.contexts[N.SELECT_BOX];if(ut(St),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Re=N.cy.zoom(),Lr=Fe.core("selection-box-border-width").value/Re;St.lineWidth=Lr,St.fillStyle="rgba("+Fe.core("selection-box-color").value[0]+","+Fe.core("selection-box-color").value[1]+","+Fe.core("selection-box-color").value[2]+","+Fe.core("selection-box-opacity").value+")",St.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),Lr>0&&(St.strokeStyle="rgba("+Fe.core("selection-box-border-color").value[0]+","+Fe.core("selection-box-border-color").value[1]+","+Fe.core("selection-box-border-color").value[2]+","+Fe.core("selection-box-opacity").value+")",St.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Re=N.cy.zoom(),Er=q.bgActivePosistion;St.fillStyle="rgba("+Fe.core("active-bg-color").value[0]+","+Fe.core("active-bg-color").value[1]+","+Fe.core("active-bg-color").value[2]+","+Fe.core("active-bg-opacity").value+")",St.beginPath(),St.arc(Er.x,Er.y,Fe.core("active-bg-size").pfValue/Re,0,2*Math.PI),St.fill()}var Ir=N.lastRedrawTime;if(N.showFps&&Ir){Ir=Math.round(Ir);var Kn=Math.round(1e3/Ir);St.setTransform(1,0,0,1,0,0),St.fillStyle="rgba(255, 0, 0, 0.75)",St.strokeStyle="rgba(255, 0, 0, 0.75)",St.lineWidth=1,St.fillText("1 frame = "+Ir+" ms = "+Kn+" fps",0,20);var pr=60;St.strokeRect(0,30,250,20),St.fillRect(0,30,250*Math.min(Kn/pr,1),20)}k||(Y[N.SELECT_BOX]=!1)}if(ce&&ve!==1){var Cr=q.contexts[N.NODE],Or=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],_i=q.contexts[N.DRAG],xs=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],va=function(pi,fs,Fs){pi.setTransform(1,0,0,1,0,0),Fs||!Te?pi.clearRect(0,0,N.canvasWidth,N.canvasHeight):Mt(pi,0,0,N.canvasWidth,N.canvasHeight);var ks=ve;pi.drawImage(fs,0,0,N.canvasWidth*ks,N.canvasHeight*ks,0,0,N.canvasWidth,N.canvasHeight)};(Y[N.NODE]||Pn[N.NODE])&&(va(Cr,Or,Pn[N.NODE]),Y[N.NODE]=!1),(Y[N.DRAG]||Pn[N.DRAG])&&(va(_i,xs,Pn[N.DRAG]),Y[N.DRAG]=!1)}N.prevViewport=Ye,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),ce&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,Y[N.NODE]=!0,Y[N.DRAG]=!0,N.redraw()},Pie)),m||H.emit("render")};var oy={};oy.drawPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2;x.beginPath&&x.beginPath(),x.moveTo(m+N*O[0],k+$*O[1]);for(var H=1;H0&&N>0){ve.clearRect(0,0,O,N),ve.globalCompositeOperation="source-over";var me=this.getCachedZSortedEles();if(x.full)ve.translate(-S.x1*q,-S.y1*q),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(S.x1*q,S.y1*q);else{var Le=m.pan(),_e={x:Le.x*q,y:Le.y*q};q*=m.zoom(),ve.translate(_e.x,_e.y),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(-_e.x,-_e.y)}x.bg&&(ve.globalCompositeOperation="destination-over",ve.fillStyle=x.bg,ve.rect(0,0,O,N),ve.fill())}return ce};function Bie(x,m){for(var k=atob(x),S=new ArrayBuffer(k.length),M=new Uint8Array(S),O=0;O"u"?"undefined":u(OffscreenCanvas))!=="undefined"?k=new OffscreenCanvas(x,m):(k=document.createElement("canvas"),k.width=x,k.height=m),k},[kz,ab,ob,vk,k5,y8,Gg,oy,wk,Iz].forEach(function(x){xt(zc,x)});var Yp=[{name:"null",impl:tz},{name:"base",impl:dz},{name:"canvas",impl:Oz}],Fie=[{type:"layout",extensions:nie},{type:"renderer",extensions:Yp}],Rie={},jie={};function $ie(x,m,k){var S=k,M=function(vt){lu("Can not register `"+m+"` for `"+x+"` since `"+vt+"` already exists in the prototype and can not be overridden")};if(x==="core"){if(fk.prototype[m])return M(m);fk.prototype[m]=k}else if(x==="collection"){if(H0.prototype[m])return M(m);H0.prototype[m]=k}else if(x==="layout"){for(var O=function(vt){this.options=vt,k.call(this,vt),se(this._private)||(this._private={}),this._private.cy=vt.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(k.prototype),$=[],H=0;H<$.length;H++){var q=$[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var Y=k.prototype.stop;N.stop=function(){var Ye=this.options;if(Ye&&Ye.animate){var vt=this.animations;if(vt)for(var Qe=0;Qej&&(this.rect.x-=(this.labelWidth-j)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},P.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},P.prototype.transform=function(B){var j=this.rect.x;j>E.WORLD_BOUNDARY?j=E.WORLD_BOUNDARY:j<-E.WORLD_BOUNDARY&&(j=-E.WORLD_BOUNDARY);var W=this.rect.y;W>E.WORLD_BOUNDARY?W=E.WORLD_BOUNDARY:W<-E.WORLD_BOUNDARY&&(W=-E.WORLD_BOUNDARY);var ee=new A(j,W),ie=B.inverseTransformPoint(ee);this.setLocation(ie.x,ie.y)},P.prototype.getLeft=function(){return this.rect.x},P.prototype.getRight=function(){return this.rect.x+this.rect.width},P.prototype.getTop=function(){return this.rect.y},P.prototype.getBottom=function(){return this.rect.y+this.rect.height},P.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},u.exports=P},function(u,d,p){function v(b,y){b==null&&y==null?(this.x=0,this.y=0):(this.x=b,this.y=y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(0),E=p(6),_=p(3),A=p(1),P=p(13),R=p(12),B=p(11);function j(ee,ie,oe){v.call(this,oe),this.estimatedSize=b.MIN_VALUE,this.margin=y.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=ee,ie!=null&&ie instanceof E?this.graphManager=ie:ie!=null&&ie instanceof Layout&&(this.graphManager=ie.graphManager)}j.prototype=Object.create(v.prototype);for(var W in v)j[W]=v[W];j.prototype.getNodes=function(){return this.nodes},j.prototype.getEdges=function(){return this.edges},j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getParent=function(){return this.parent},j.prototype.getLeft=function(){return this.left},j.prototype.getRight=function(){return this.right},j.prototype.getTop=function(){return this.top},j.prototype.getBottom=function(){return this.bottom},j.prototype.isConnected=function(){return this.isConnected},j.prototype.add=function(ee,ie,oe){if(ie==null&&oe==null){var be=ee;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(be)>-1)throw"Node already in graph!";return be.owner=this,this.getNodes().push(be),be}else{var ge=ee;if(!(this.getNodes().indexOf(ie)>-1&&this.getNodes().indexOf(oe)>-1))throw"Source or target not in graph!";if(!(ie.owner==oe.owner&&ie.owner==this))throw"Both owners must be this graph!";return ie.owner!=oe.owner?null:(ge.source=ie,ge.target=oe,ge.isInterGraph=!1,this.getEdges().push(ge),ie.edges.push(ge),oe!=ie&&oe.edges.push(ge),ge)}},j.prototype.remove=function(ee){var ie=ee;if(ee instanceof _){if(ie==null)throw"Node is null!";if(!(ie.owner!=null&&ie.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var oe=ie.edges.slice(),be,ge=oe.length,ae=0;ae-1&&de>-1))throw"Source and/or target doesn't know this edge!";be.source.edges.splice(se,1),be.target!=be.source&&be.target.edges.splice(de,1);var ne=be.source.owner.getEdges().indexOf(be);if(ne==-1)throw"Not in owner's edge list!";be.source.owner.getEdges().splice(ne,1)}},j.prototype.updateLeftTop=function(){for(var ee=b.MAX_VALUE,ie=b.MAX_VALUE,oe,be,ge,ae=this.getNodes(),ne=ae.length,se=0;seoe&&(ee=oe),ie>be&&(ie=be)}return ee==b.MAX_VALUE?null:(ae[0].getParent().paddingLeft!=null?ge=ae[0].getParent().paddingLeft:ge=this.margin,this.left=ie-ge,this.top=ee-ge,new R(this.left,this.top))},j.prototype.updateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,be=b.MAX_VALUE,ge=-b.MAX_VALUE,ae,ne,se,de,X,pe=this.nodes,G=pe.length,xe=0;xeae&&(ie=ae),oese&&(be=se),geae&&(ie=ae),oese&&(be=se),ge=this.nodes.length){var G=0;oe.forEach(function(xe){xe.owner==ee&&G++}),G==this.nodes.length&&(this.isConnected=!0)}},u.exports=j},function(u,d,p){var v,b=p(1);function y(E){v=p(5),this.layout=E,this.graphs=[],this.edges=[]}y.prototype.addRoot=function(){var E=this.layout.newGraph(),_=this.layout.newNode(null),A=this.add(E,_);return this.setRootGraph(A),this.rootGraph},y.prototype.add=function(E,_,A,P,R){if(A==null&&P==null&&R==null){if(E==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(E)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(E),E.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return E.parent=_,_.child=E,E}else{R=A,P=_,A=E;var B=P.getOwner(),j=R.getOwner();if(!(B!=null&&B.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(j!=null&&j.getGraphManager()==this))throw"Target not in this graph mgr!";if(B==j)return A.isInterGraph=!1,B.add(A,P,R);if(A.isInterGraph=!0,A.source=P,A.target=R,this.edges.indexOf(A)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(A),!(A.source!=null&&A.target!=null))throw"Edge source and/or target is null!";if(!(A.source.edges.indexOf(A)==-1&&A.target.edges.indexOf(A)==-1))throw"Edge already in source and/or target incidency list!";return A.source.edges.push(A),A.target.edges.push(A),A}},y.prototype.remove=function(E){if(E instanceof v){var _=E;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var A=[];A=A.concat(_.getEdges());for(var P,R=A.length,B=0;B=E.getRight()?_[0]+=Math.min(E.getX()-y.getX(),y.getRight()-E.getRight()):E.getX()<=y.getX()&&E.getRight()>=y.getRight()&&(_[0]+=Math.min(y.getX()-E.getX(),E.getRight()-y.getRight())),y.getY()<=E.getY()&&y.getBottom()>=E.getBottom()?_[1]+=Math.min(E.getY()-y.getY(),y.getBottom()-E.getBottom()):E.getY()<=y.getY()&&E.getBottom()>=y.getBottom()&&(_[1]+=Math.min(y.getY()-E.getY(),E.getBottom()-y.getBottom()));var R=Math.abs((E.getCenterY()-y.getCenterY())/(E.getCenterX()-y.getCenterX()));E.getCenterY()===y.getCenterY()&&E.getCenterX()===y.getCenterX()&&(R=1);var B=R*_[0],j=_[1]/R;_[0]B)return _[0]=A,_[1]=W,_[2]=R,_[3]=pe,!1;if(PR)return _[0]=j,_[1]=P,_[2]=de,_[3]=B,!1;if(AR?(_[0]=ie,_[1]=oe,Be=!0):(_[0]=ee,_[1]=W,Be=!0):je===Se&&(A>R?(_[0]=j,_[1]=W,Be=!0):(_[0]=be,_[1]=oe,Be=!0)),-Ie===Se?R>A?(_[2]=X,_[3]=pe,Pe=!0):(_[2]=de,_[3]=se,Pe=!0):Ie===Se&&(R>A?(_[2]=ne,_[3]=se,Pe=!0):(_[2]=G,_[3]=pe,Pe=!0)),Be&&Pe)return!1;if(A>R?P>B?(Ce=this.getCardinalDirection(je,Se,4),ke=this.getCardinalDirection(Ie,Se,2)):(Ce=this.getCardinalDirection(-je,Se,3),ke=this.getCardinalDirection(-Ie,Se,1)):P>B?(Ce=this.getCardinalDirection(-je,Se,1),ke=this.getCardinalDirection(-Ie,Se,3)):(Ce=this.getCardinalDirection(je,Se,2),ke=this.getCardinalDirection(Ie,Se,4)),!Be)switch(Ce){case 1:zt=W,Ke=A+-ae/Se,_[0]=Ke,_[1]=zt;break;case 2:Ke=be,zt=P+ge*Se,_[0]=Ke,_[1]=zt;break;case 3:zt=oe,Ke=A+ae/Se,_[0]=Ke,_[1]=zt;break;case 4:Ke=ie,zt=P+-ge*Se,_[0]=Ke,_[1]=zt;break}if(!Pe)switch(ke){case 1:pn=se,Ne=R+-U/Se,_[2]=Ne,_[3]=pn;break;case 2:Ne=G,pn=B+xe*Se,_[2]=Ne,_[3]=pn;break;case 3:pn=pe,Ne=R+U/Se,_[2]=Ne,_[3]=pn;break;case 4:Ne=X,pn=B+-xe*Se,_[2]=Ne,_[3]=pn;break}}return!1},b.getCardinalDirection=function(y,E,_){return y>E?_:1+_%4},b.getIntersection=function(y,E,_,A){if(A==null)return this.getIntersection2(y,E,_);var P=y.x,R=y.y,B=E.x,j=E.y,W=_.x,ee=_.y,ie=A.x,oe=A.y,be=void 0,ge=void 0,ae=void 0,ne=void 0,se=void 0,de=void 0,X=void 0,pe=void 0,G=void 0;return ae=j-R,se=P-B,X=B*R-P*j,ne=oe-ee,de=W-ie,pe=ie*ee-W*oe,G=ae*de-ne*se,G===0?null:(be=(se*pe-de*X)/G,ge=(ne*X-ae*pe)/G,new v(be,ge))},b.angleOfVector=function(y,E,_,A){var P=void 0;return y!==_?(P=Math.atan((A-E)/(_-y)),_0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},u.exports=v},function(u,d,p){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,u.exports=v},function(u,d,p){var v=function(){function P(R,B){for(var j=0;j"u"?"undefined":v(y);return y==null||E!="object"&&E!="function"},u.exports=b},function(u,d,p){function v(W){if(Array.isArray(W)){for(var ee=0,ie=Array(W.length);ee0&ⅇ){for(ae.push(se[0]);ae.length>0&ⅇ){var de=ae[0];ae.splice(0,1),ge.add(de);for(var X=de.getEdges(),be=0;be-1&&se.splice(U,1)}ge=new Set,ne=new Map}}return W},j.prototype.createDummyNodesForBendpoints=function(W){for(var ee=[],ie=W.source,oe=this.graphManager.calcLowestCommonAncestor(W.source,W.target),be=0;be0){for(var oe=this.edgeToDummyNodes.get(ie),be=0;be=0&&ee.splice(pe,1);var G=ne.getNeighborsList();G.forEach(function(Be){if(ie.indexOf(Be)<0){var Pe=oe.get(Be),je=Pe-1;je==1&&de.push(Be),oe.set(Be,je)}})}ie=ie.concat(de),(ee.length==1||ee.length==2)&&(be=!0,ge=ee[0])}return ge},j.prototype.setGraphManager=function(W){this.graphManager=W},u.exports=j},function(u,d,p){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},u.exports=v},function(u,d,p){var v=p(4);function b(y,E){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(y){this.lworldOrgX=y},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(y){this.lworldOrgY=y},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(y){this.lworldExtX=y},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(y){this.lworldExtY=y},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(y){this.ldeviceOrgX=y},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(y){this.ldeviceOrgY=y},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(y){this.ldeviceExtX=y},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(y){this.ldeviceExtY=y},b.prototype.transformX=function(y){var E=0,_=this.lworldExtX;return _!=0&&(E=this.ldeviceOrgX+(y-this.lworldOrgX)*this.ldeviceExtX/_),E},b.prototype.transformY=function(y){var E=0,_=this.lworldExtY;return _!=0&&(E=this.ldeviceOrgY+(y-this.lworldOrgY)*this.ldeviceExtY/_),E},b.prototype.inverseTransformX=function(y){var E=0,_=this.ldeviceExtX;return _!=0&&(E=this.lworldOrgX+(y-this.ldeviceOrgX)*this.lworldExtX/_),E},b.prototype.inverseTransformY=function(y){var E=0,_=this.ldeviceExtY;return _!=0&&(E=this.lworldOrgY+(y-this.ldeviceOrgY)*this.lworldExtY/_),E},b.prototype.inverseTransformPoint=function(y){var E=new v(this.inverseTransformX(y.x),this.inverseTransformY(y.y));return E},u.exports=b},function(u,d,p){function v(B){if(Array.isArray(B)){for(var j=0,W=Array(B.length);jy.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*y.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(B-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-y.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT_INCREMENTAL):(B>y.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(y.COOLING_ADAPTATION_FACTOR,1-(B-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*(1-y.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},P.prototype.calcSpringForces=function(){for(var B=this.getAllEdges(),j,W=0;W0&&arguments[0]!==void 0?arguments[0]:!0,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,ee,ie,oe,be=this.getAllNodes(),ge;if(this.useFRGridVariant)for(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&B&&this.updateGrid(),ge=new Set,W=0;Wae||ge>ae)&&(B.gravitationForceX=-this.gravityConstant*ie,B.gravitationForceY=-this.gravityConstant*oe)):(ae=j.getEstimatedSize()*this.compoundGravityRangeFactor,(be>ae||ge>ae)&&(B.gravitationForceX=-this.gravityConstant*ie*this.compoundGravityConstant,B.gravitationForceY=-this.gravityConstant*oe*this.compoundGravityConstant))},P.prototype.isConverged=function(){var B,j=!1;return this.totalIterations>this.maxIterations/3&&(j=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),B=this.totalDisplacement=be.length||ae>=be[0].length)){for(var ne=0;neP}}]),_}();u.exports=E},function(u,d,p){var v=function(){function E(_,A){for(var P=0;P2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,E),this.sequence1=_,this.sequence2=A,this.match_score=P,this.mismatch_penalty=R,this.gap_penalty=B,this.iMax=_.length+1,this.jMax=A.length+1,this.grid=new Array(this.iMax);for(var j=0;j=0;_--){var A=this.listeners[_];A.event===y&&A.callback===E&&this.listeners.splice(_,1)}},b.emit=function(y,E){for(var _=0;_A.coolingFactor*A.maxNodeDisplacement&&(this.displacementX=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementX)),Math.abs(this.displacementY)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementY=A.coolingFactor*A.maxNodeDisplacement*y.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),A.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},E.prototype.propogateDisplacementToChildren=function(A,P){for(var R=this.getChild().getNodes(),B,j=0;j0)this.positionNodesRadially(se);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pe){return de.has(pe)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ae.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%R.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 se=new Set(this.getAllNodes()),de=this.nodesWithGravity.filter(function(G){return se.has(G)});this.graphManager.setAllNodesToApplyGravitation(de),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.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=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pe=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pe),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ae.prototype.getPositionsData=function(){for(var se=this.graphManager.getAllNodes(),de={},X=0;X1){var Be;for(Be=0;Bepe&&(pe=Math.floor(U.y)),xe=Math.floor(U.x+P.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(B.WORLD_CENTER_X-U.x/2,B.WORLD_CENTER_Y-U.y/2))},ae.radialLayout=function(se,de,X){var pe=Math.max(this.maxDiagonalInTree(se),P.DEFAULT_RADIAL_SEPARATION);ae.branchRadialLayout(de,null,0,359,0,pe);var G=be.calculateBounds(se),xe=new ge;xe.setDeviceOrgX(G.getMinX()),xe.setDeviceOrgY(G.getMinY()),xe.setWorldOrgX(X.x),xe.setWorldOrgY(X.y);for(var U=0;U1;){var pn=Ne[0];Ne.splice(0,1);var Tt=Se.indexOf(pn);Tt>=0&&Se.splice(Tt,1),Ke--,Ce--}de!=null?zt=(Se.indexOf(Ne[0])+1)%Ke:zt=0;for(var Et=Math.abs(pe-X)/Ce,Wt=zt;ke!=Ce;Wt=++Wt%Ke){var un=Se[Wt].getOtherEnd(se);if(un!=de){var yt=(X+ke*Et)%360,Bt=(yt+Et)%360;ae.branchRadialLayout(un,se,yt,Bt,G+xe,xe),ke++}}},ae.maxDiagonalInTree=function(se){for(var de=ie.MIN_VALUE,X=0;Xde&&(de=G)}return de},ae.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ae.prototype.groupZeroDegreeMembers=function(){var se=this,de={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pe=this.graphManager.getAllNodes(),G=0;G"u"&&(de[Be]=[]),de[Be]=de[Be].concat(xe)}Object.keys(de).forEach(function(Pe){if(de[Pe].length>1){var je="DummyCompound_"+Pe;se.memberGroups[je]=de[Pe];var Ie=de[Pe][0].getParent(),Se=new _(se.graphManager);Se.id=je,Se.paddingLeft=Ie.paddingLeft||0,Se.paddingRight=Ie.paddingRight||0,Se.paddingBottom=Ie.paddingBottom||0,Se.paddingTop=Ie.paddingTop||0,se.idToDummyNode[je]=Se;var Ce=se.getGraphManager().add(se.newGraph(),Se),ke=Ie.getChild();ke.add(Se);for(var Ke=0;Ke=0;se--){var de=this.compoundOrder[se],X=de.id,pe=de.paddingLeft,G=de.paddingTop;this.adjustLocations(this.tiledMemberPack[X],de.rect.x,de.rect.y,pe,G)}},ae.prototype.repopulateZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack;Object.keys(de).forEach(function(X){var pe=se.idToDummyNode[X],G=pe.paddingLeft,xe=pe.paddingTop;se.adjustLocations(de[X],pe.rect.x,pe.rect.y,G,xe)})},ae.prototype.getToBeTiled=function(se){var de=se.id;if(this.toBeTiled[de]!=null)return this.toBeTiled[de];var X=se.getChild();if(X==null)return this.toBeTiled[de]=!1,!1;for(var pe=X.getNodes(),G=0;G0)return this.toBeTiled[de]=!1,!1;if(xe.getChild()==null){this.toBeTiled[xe.id]=!1;continue}if(!this.getToBeTiled(xe))return this.toBeTiled[de]=!1,!1}return this.toBeTiled[de]=!0,!0},ae.prototype.getNodeDegree=function(se){se.id;for(var de=se.getEdges(),X=0,pe=0;pePe&&(Pe=Ie.rect.height)}X+=Pe+se.verticalPadding}},ae.prototype.tileCompoundMembers=function(se,de){var X=this;this.tiledMemberPack=[],Object.keys(se).forEach(function(pe){var G=de[pe];X.tiledMemberPack[pe]=X.tileNodes(se[pe],G.paddingLeft+G.paddingRight),G.rect.width=X.tiledMemberPack[pe].width,G.rect.height=X.tiledMemberPack[pe].height})},ae.prototype.tileNodes=function(se,de){var X=P.TILING_PADDING_VERTICAL,pe=P.TILING_PADDING_HORIZONTAL,G={rows:[],rowWidth:[],rowHeight:[],width:0,height:de,verticalPadding:X,horizontalPadding:pe};se.sort(function(Be,Pe){return Be.rect.width*Be.rect.height>Pe.rect.width*Pe.rect.height?-1:Be.rect.width*Be.rect.height0&&(U+=se.horizontalPadding),se.rowWidth[X]=U,se.width0&&(Be+=se.verticalPadding);var Pe=0;Be>se.rowHeight[X]&&(Pe=se.rowHeight[X],se.rowHeight[X]=Be,Pe=se.rowHeight[X]-Pe),se.height+=Pe,se.rows[X].push(de)},ae.prototype.getShortestRowIndex=function(se){for(var de=-1,X=Number.MAX_VALUE,pe=0;peX&&(de=pe,X=se.rowWidth[pe]);return de},ae.prototype.canAddHorizontal=function(se,de,X){var pe=this.getShortestRowIndex(se);if(pe<0)return!0;var G=se.rowWidth[pe];if(G+se.horizontalPadding+de<=se.width)return!0;var xe=0;se.rowHeight[pe]0&&(xe=X+se.verticalPadding-se.rowHeight[pe]);var U;se.width-G>=de+se.horizontalPadding?U=(se.height+xe)/(G+de+se.horizontalPadding):U=(se.height+xe)/se.width,xe=X+se.verticalPadding;var Be;return se.widthxe&&de!=X){pe.splice(-1,1),se.rows[X].push(G),se.rowWidth[de]=se.rowWidth[de]-xe,se.rowWidth[X]=se.rowWidth[X]+xe,se.width=se.rowWidth[instance.getLongestRowIndex(se)];for(var U=Number.MIN_VALUE,Be=0;BeU&&(U=pe[Be].height);de>0&&(U+=se.verticalPadding);var Pe=se.rowHeight[de]+se.rowHeight[X];se.rowHeight[de]=U,se.rowHeight[X]0)for(var ke=G;ke<=xe;ke++)Ce[0]+=this.grid[ke][U-1].length+this.grid[ke][U].length-1;if(xe0)for(var ke=U;ke<=Be;ke++)Ce[3]+=this.grid[G-1][ke].length+this.grid[G][ke].length-1;for(var Ke=ie.MAX_VALUE,zt,Ne,pn=0;pn0){var Be;Be=ge.getGraphManager().add(ge.newGraph(),X),this.processChildrenList(Be,de,ge)}}},W.prototype.stop=function(){return this.stopped=!0,this};var ie=function(be){be("layout","cose-bilkent",W)};typeof cytoscape<"u"&&ie(cytoscape),d.exports=ie}])})})(HWe);var Pon=HWe.exports;const Bon=dC(Pon),Fon=12,Ron=function(i,a,u,d){a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 ${u.height-5} v${-u.height+2*5} q0,-5 5,-5 h${u.width-2*5} q5,0 5,5 v${u.height-5} H0 Z`),a.append("line").attr("class","node-line-"+d).attr("x1",0).attr("y1",u.height).attr("x2",u.width).attr("y2",u.height)},jon=function(i,a,u){a.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("width",u.width)},$on=function(i,a,u){const d=u.width,p=u.height,v=.15*d,b=.25*d,y=.35*d,E=.2*d;a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${d*.25},${-1*d*.1} + a${y},${y} 1 0,1 ${d*.4},${-1*d*.1} + a${b},${b} 1 0,1 ${d*.35},${1*d*.2} + + a${v},${v} 1 0,1 ${d*.15},${1*p*.35} + a${E},${E} 1 0,1 ${-1*d*.15},${1*p*.65} + + a${b},${v} 1 0,1 ${-1*d*.25},${d*.15} + a${y},${y} 1 0,1 ${-1*d*.5},0 + a${v},${v} 1 0,1 ${-1*d*.25},${-1*d*.15} + + a${v},${v} 1 0,1 ${-1*d*.1},${-1*p*.35} + a${E},${E} 1 0,1 ${d*.1},${-1*p*.65} + + H0 V0 Z`)},zon=function(i,a,u){const d=u.width,p=u.height,v=.15*d;a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 1 0,0 ${d*.25},${-1*p*.1} + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},${1*p*.1} + + a${v},${v} 1 0,0 ${d*.15},${1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${1*p*.34} + a${v},${v} 1 0,0 ${-1*d*.15},${1*p*.33} + + a${v},${v} 1 0,0 ${-1*d*.25},${p*.15} + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},${-1*p*.15} + + a${v},${v} 1 0,0 ${-1*d*.1},${-1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${-1*p*.34} + a${v},${v} 1 0,0 ${d*.1},${-1*p*.33} + + H0 V0 Z`)},qon=function(i,a,u){a.append("circle").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("r",u.width/2)};function Hon(i,a,u,d,p){return i.insert("polygon",":first-child").attr("points",d.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(p.width-a)/2+", "+u+")")}const Uon=function(i,a,u){const d=u.height,v=d/4,b=u.width-u.padding+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-d/2},{x:b-v,y:-d},{x:v,y:-d},{x:0,y:-d/2}];Hon(a,b,d,y,u)},Von=function(i,a,u){a.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("rx",u.padding).attr("ry",u.padding).attr("width",u.width)},Gon=function(i,a,u,d,p){const v=p.htmlLabels,b=d%(Fon-1),y=a.append("g");u.section=b;let E="section-"+b;b<0&&(E+=" section-root"),y.attr("class",(u.class?u.class+" ":"")+"mindmap-node "+E);const _=y.append("g"),A=y.append("g"),P=u.descr.replace(/()/g,` +`);fJ(A,P,{useHtmlLabels:v,width:u.width,classes:"mindmap-node-label"}),v||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=A.node().getBBox(),[B]=PC(p.fontSize);if(u.height=R.height+B*1.1*.5+u.padding,u.width=R.width+2*u.padding,u.icon)if(u.type===i.nodeType.CIRCLE)u.height+=50,u.width+=50,y.append("foreignObject").attr("height","50px").attr("width",u.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+u.width/2+", "+(u.height/2-1.5*u.padding)+")");else{u.width+=50;const j=u.height;u.height=Math.max(j,60);const W=Math.abs(u.height-j);y.append("foreignObject").attr("width","60px").attr("height",u.height).attr("style","text-align: center;margin-top:"+W/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+(25+u.width/2)+", "+(W/2+u.padding/2)+")")}else if(v){const j=(u.width-R.width)/2,W=(u.height-R.height)/2;A.attr("transform","translate("+j+", "+W+")")}else{const j=u.width/2,W=u.padding/2;A.attr("transform","translate("+j+", "+W+")")}switch(u.type){case i.nodeType.DEFAULT:Ron(i,_,u,b);break;case i.nodeType.ROUNDED_RECT:Von(i,_,u);break;case i.nodeType.RECT:jon(i,_,u);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+u.width/2+", "+ +u.height/2+")"),qon(i,_,u);break;case i.nodeType.CLOUD:$on(i,_,u);break;case i.nodeType.BANG:zon(i,_,u);break;case i.nodeType.HEXAGON:Uon(i,_,u);break}return i.setElementForId(u.id,y),u.height},Kon=function(i,a){const u=i.getElementById(a.id),d=a.x||0,p=a.y||0;u.attr("transform","translate("+d+","+p+")")};qWe.use(Bon);function GWe(i,a,u,d,p){Gon(i,a,u,d,p),u.children&&u.children.forEach((v,b)=>{GWe(i,a,v,d<0?b:d,p)})}function Won(i,a){a.edges().map((u,d)=>{const p=u.data();if(u[0]._private.bodyBounds){const v=u[0]._private.rscratch;Xe.trace("Edge: ",d,p),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+p.section+" edge-depth-"+p.depth)}})}function KWe(i,a,u,d){a.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:d,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(p=>{KWe(p,a,u,d+1),a.add({group:"edges",data:{id:`${i.id}_${p.id}`,source:i.id,target:p.id,depth:d,section:p.section}})})}function Yon(i,a){return new Promise(u=>{const d=Dr("body").append("div").attr("id","cy").attr("style","display:none"),p=qWe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});d.remove(),KWe(i,p,a,0),p.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),p.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),p.ready(v=>{Xe.info("Ready",v),u(p)})})}function Xon(i,a){a.nodes().map((u,d)=>{const p=u.data();p.x=u.position().x,p.y=u.position().y,Kon(i,p);const v=i.getElementById(p.nodeId);Xe.info("Id:",d,"Position: (",u.position().x,", ",u.position().y,")",p),v.attr("transform",`translate(${u.position().x-p.width/2}, ${u.position().y-p.height/2})`),v.attr("attr",`apa-${d})`)})}const Qon={draw:async(i,a,u,d)=>{var P,R;Xe.debug(`Rendering mindmap diagram +`+i);const p=d.db,v=p.getMindmap();if(!v)return;const b=qt();b.htmlLabels=!1;const y=dR(a),E=y.append("g");E.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),GWe(p,_,v,-1,b);const A=await Yon(v,b);Won(E,A),Xon(p,A),x9(void 0,y,((P=b.mindmap)==null?void 0:P.padding)??nh.mindmap.padding,((R=b.mindmap)==null?void 0:R.useMaxWidth)??nh.mindmap.useMaxWidth)}},Jon=i=>{let a="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${Jon(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var kwe=function(){var i=function(y,E,_,A){for(_=_||{},A=y.length;A--;_[y[A]]=E);return _},a=[1,9],u=[1,10],d=[1,5,10,12],p={trace:function(){},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:function(E,_,A,P,R,B,j){var W=B.length-1;switch(R){case 7:const ee=P.findOrCreateNode(B[W-4].trim().replaceAll('""','"')),ie=P.findOrCreateNode(B[W-2].trim().replaceAll('""','"')),oe=parseFloat(B[W].trim());P.addLink(ee,ie,oe);break;case 8:case 9:case 11:this.$=B[W];break;case 10:this.$=B[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:u},{1:[2,6],7:11,10:[1,12]},i(u,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(d,[2,8]),i(d,[2,9]),{19:[1,16]},i(d,[2,11]),{1:[2,1]},{1:[2,5]},i(u,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:u},{15:18,16:7,17:8,18:a,20:u},{18:[1,19]},i(u,[2,3]),{12:[1,20]},i(d,[2,10]),{15:21,16:7,17:8,18:a,20:u},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(E,_){if(_.recoverable)this.trace(E);else{var A=new Error(E);throw A.hash=_,A}},parse:function(E){var _=this,A=[0],P=[],R=[null],B=[],j=this.table,W="",ee=0,ie=0,oe=2,be=1,ge=B.slice.call(arguments,1),ae=Object.create(this.lexer),ne={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(ne.yy[se]=this.yy[se]);ae.setInput(E,ne.yy),ne.yy.lexer=ae,ne.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var de=ae.yylloc;B.push(de);var X=ae.options&&ae.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Ke;return Ke=P.pop()||ae.lex()||be,typeof Ke!="number"&&(Ke instanceof Array&&(P=Ke,Ke=P.pop()),Ke=_.symbols_[Ke]||Ke),Ke}for(var G,xe,U,Be,Pe={},je,Ie,Se,Ce;;){if(xe=A[A.length-1],this.defaultActions[xe]?U=this.defaultActions[xe]:((G===null||typeof G>"u")&&(G=pe()),U=j[xe]&&j[xe][G]),typeof U>"u"||!U.length||!U[0]){var ke="";Ce=[];for(je in j[xe])this.terminals_[je]&&je>oe&&Ce.push("'"+this.terminals_[je]+"'");ae.showPosition?ke="Parse error on line "+(ee+1)+`: +`+ae.showPosition()+` +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[G]||G)+"'":ke="Parse error on line "+(ee+1)+": Unexpected "+(G==be?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(ke,{text:ae.match,token:this.terminals_[G]||G,line:ae.yylineno,loc:de,expected:Ce})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xe+", token: "+G);switch(U[0]){case 1:A.push(G),R.push(ae.yytext),B.push(ae.yylloc),A.push(U[1]),G=null,ie=ae.yyleng,W=ae.yytext,ee=ae.yylineno,de=ae.yylloc;break;case 2:if(Ie=this.productions_[U[1]][1],Pe.$=R[R.length-Ie],Pe._$={first_line:B[B.length-(Ie||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Ie||1)].first_column,last_column:B[B.length-1].last_column},X&&(Pe._$.range=[B[B.length-(Ie||1)].range[0],B[B.length-1].range[1]]),Be=this.performAction.apply(Pe,[W,ie,ee,ne.yy,U[1],R,B].concat(ge)),typeof Be<"u")return Be;Ie&&(A=A.slice(0,-1*Ie*2),R=R.slice(0,-1*Ie),B=B.slice(0,-1*Ie)),A.push(this.productions_[U[1]][0]),R.push(Pe.$),B.push(Pe._$),Se=j[A[A.length-2]][A[A.length-1]],A.push(Se);break;case 3:return!0}}return!0}},v=function(){var y={EOF:1,parseError:function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},setInput: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},input: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},unput: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 P=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===P.length?this.yylloc.first_column:0)+P[P.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},more:function(){return this._more=!0,this},reject: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},less:function(E){this.unput(this.match.slice(E))},pastInput:function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` +`+_+"^"},test_match:function(E,_){var A,P,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))),P=E[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.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 B in R)this[B]=R[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,A,P;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),B=0;B_[0].length)){if(_=A,P=B,this.options.backtrack_lexer){if(E=this.test_match(A,R[B]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,R[P]),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})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_,A,P,R){switch(P){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\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:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return y}();p.lexer=v;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();kwe.parser=kwe;const WJ=kwe;let YJ=[],XJ=[],uI={};const ecn=()=>{YJ=[],XJ=[],uI={},Rg()};class tcn{constructor(a,u,d=0){this.source=a,this.target=u,this.value=d}}const ncn=(i,a,u)=>{YJ.push(new tcn(i,a,u))};class rcn{constructor(a){this.ID=a}}const icn={nodesMap:uI,getConfig:()=>qt().sankey,getNodes:()=>XJ,getLinks:()=>YJ,getGraph:()=>({nodes:XJ.map(i=>({id:i.ID})),links:YJ.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:ncn,findOrCreateNode:i=>(i=oi.sanitizeText(i,qt()),uI[i]||(uI[i]=new rcn(i),XJ.push(uI[i])),uI[i]),getAccTitle:Mp,setAccTitle:jg,getAccDescription:Ip,setAccDescription:Dp,getDiagramTitle:Op,setDiagramTitle:pm,clear:ecn};function WWe(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function YWe(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function Twe(i,a){let u=0;if(a===void 0)for(let d of i)(d=+d)&&(u+=d);else{let d=-1;for(let p of i)(p=+a(p,++d,i))&&(u+=p)}return u}function scn(i){return i.target.depth}function acn(i){return i.depth}function ocn(i,a){return a-1-i.height}function XWe(i,a){return i.sourceLinks.length?i.depth:a-1}function ccn(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?YWe(i.sourceLinks,scn)-1:0}function QJ(i){return function(){return i}}function QWe(i,a){return JJ(i.source,a.source)||i.index-a.index}function JWe(i,a){return JJ(i.target,a.target)||i.index-a.index}function JJ(i,a){return i.y0-a.y0}function Ewe(i){return i.value}function ucn(i){return i.index}function lcn(i){return i.nodes}function hcn(i){return i.links}function ZWe(i,a){const u=i.get(a);if(!u)throw new Error("missing: "+a);return u}function eYe({nodes:i}){for(const a of i){let u=a.y0,d=u;for(const p of a.sourceLinks)p.y0=u+p.width/2,u+=p.width;for(const p of a.targetLinks)p.y1=d+p.width/2,d+=p.width}}function fcn(){let i=0,a=0,u=1,d=1,p=24,v=8,b,y=ucn,E=XWe,_,A,P=lcn,R=hcn,B=6;function j(){const Pe={nodes:P.apply(null,arguments),links:R.apply(null,arguments)};return W(Pe),ee(Pe),ie(Pe),oe(Pe),ae(Pe),eYe(Pe),Pe}j.update=function(Pe){return eYe(Pe),Pe},j.nodeId=function(Pe){return arguments.length?(y=typeof Pe=="function"?Pe:QJ(Pe),j):y},j.nodeAlign=function(Pe){return arguments.length?(E=typeof Pe=="function"?Pe:QJ(Pe),j):E},j.nodeSort=function(Pe){return arguments.length?(_=Pe,j):_},j.nodeWidth=function(Pe){return arguments.length?(p=+Pe,j):p},j.nodePadding=function(Pe){return arguments.length?(v=b=+Pe,j):v},j.nodes=function(Pe){return arguments.length?(P=typeof Pe=="function"?Pe:QJ(Pe),j):P},j.links=function(Pe){return arguments.length?(R=typeof Pe=="function"?Pe:QJ(Pe),j):R},j.linkSort=function(Pe){return arguments.length?(A=Pe,j):A},j.size=function(Pe){return arguments.length?(i=a=0,u=+Pe[0],d=+Pe[1],j):[u-i,d-a]},j.extent=function(Pe){return arguments.length?(i=+Pe[0][0],u=+Pe[1][0],a=+Pe[0][1],d=+Pe[1][1],j):[[i,a],[u,d]]},j.iterations=function(Pe){return arguments.length?(B=+Pe,j):B};function W({nodes:Pe,links:je}){for(const[Se,Ce]of Pe.entries())Ce.index=Se,Ce.sourceLinks=[],Ce.targetLinks=[];const Ie=new Map(Pe.map((Se,Ce)=>[y(Se,Ce,Pe),Se]));for(const[Se,Ce]of je.entries()){Ce.index=Se;let{source:ke,target:Ke}=Ce;typeof ke!="object"&&(ke=Ce.source=ZWe(Ie,ke)),typeof Ke!="object"&&(Ke=Ce.target=ZWe(Ie,Ke)),ke.sourceLinks.push(Ce),Ke.targetLinks.push(Ce)}if(A!=null)for(const{sourceLinks:Se,targetLinks:Ce}of Pe)Se.sort(A),Ce.sort(A)}function ee({nodes:Pe}){for(const je of Pe)je.value=je.fixedValue===void 0?Math.max(Twe(je.sourceLinks,Ewe),Twe(je.targetLinks,Ewe)):je.fixedValue}function ie({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.depth=Ce;for(const{target:Ke}of ke.sourceLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function oe({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.height=Ce;for(const{source:Ke}of ke.targetLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function be({nodes:Pe}){const je=WWe(Pe,Ce=>Ce.depth)+1,Ie=(u-i-p)/(je-1),Se=new Array(je);for(const Ce of Pe){const ke=Math.max(0,Math.min(je-1,Math.floor(E.call(null,Ce,je))));Ce.layer=ke,Ce.x0=i+ke*Ie,Ce.x1=Ce.x0+p,Se[ke]?Se[ke].push(Ce):Se[ke]=[Ce]}if(_)for(const Ce of Se)Ce.sort(_);return Se}function ge(Pe){const je=YWe(Pe,Ie=>(d-a-(Ie.length-1)*b)/Twe(Ie,Ewe));for(const Ie of Pe){let Se=a;for(const Ce of Ie){Ce.y0=Se,Ce.y1=Se+Ce.value*je,Se=Ce.y1+b;for(const ke of Ce.sourceLinks)ke.width=ke.value*je}Se=(d-Se+b)/(Ie.length+1);for(let Ce=0;CeIe.length)-1)),ge(je);for(let Ie=0;Ie0))continue;let pn=(zt/Ne-Ke.y0)*je;Ke.y0+=pn,Ke.y1+=pn,G(Ke)}_===void 0&&ke.sort(JJ),de(ke,Ie)}}function se(Pe,je,Ie){for(let Se=Pe.length,Ce=Se-2;Ce>=0;--Ce){const ke=Pe[Ce];for(const Ke of ke){let zt=0,Ne=0;for(const{target:Tt,value:Et}of Ke.sourceLinks){let Wt=Et*(Tt.layer-Ke.layer);zt+=Be(Ke,Tt)*Wt,Ne+=Wt}if(!(Ne>0))continue;let pn=(zt/Ne-Ke.y0)*je;Ke.y0+=pn,Ke.y1+=pn,G(Ke)}_===void 0&&ke.sort(JJ),de(ke,Ie)}}function de(Pe,je){const Ie=Pe.length>>1,Se=Pe[Ie];pe(Pe,Se.y0-b,Ie-1,je),X(Pe,Se.y1+b,Ie+1,je),pe(Pe,d,Pe.length-1,je),X(Pe,a,0,je)}function X(Pe,je,Ie,Se){for(;Ie1e-6&&(Ce.y0+=ke,Ce.y1+=ke),je=Ce.y1+b}}function pe(Pe,je,Ie,Se){for(;Ie>=0;--Ie){const Ce=Pe[Ie],ke=(Ce.y1-je)*Se;ke>1e-6&&(Ce.y0-=ke,Ce.y1-=ke),je=Ce.y0-b}}function G({sourceLinks:Pe,targetLinks:je}){if(A===void 0){for(const{source:{sourceLinks:Ie}}of je)Ie.sort(JWe);for(const{target:{targetLinks:Ie}}of Pe)Ie.sort(QWe)}}function xe(Pe){if(A===void 0)for(const{sourceLinks:je,targetLinks:Ie}of Pe)je.sort(JWe),Ie.sort(QWe)}function U(Pe,je){let Ie=Pe.y0-(Pe.sourceLinks.length-1)*b/2;for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie+=Ce+b}for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie-=Ce}return Ie}function Be(Pe,je){let Ie=je.y0-(je.targetLinks.length-1)*b/2;for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie+=Ce+b}for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie-=Ce}return Ie}return j}var Cwe=Math.PI,Swe=2*Cwe,oS=1e-6,dcn=Swe-oS;function _we(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function tYe(){return new _we}_we.prototype=tYe.prototype={constructor:_we,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,u,d){this._+="Q"+ +i+","+ +a+","+(this._x1=+u)+","+(this._y1=+d)},bezierCurveTo:function(i,a,u,d,p,v){this._+="C"+ +i+","+ +a+","+ +u+","+ +d+","+(this._x1=+p)+","+(this._y1=+v)},arcTo:function(i,a,u,d,p){i=+i,a=+a,u=+u,d=+d,p=+p;var v=this._x1,b=this._y1,y=u-i,E=d-a,_=v-i,A=b-a,P=_*_+A*A;if(p<0)throw new Error("negative radius: "+p);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(P>oS)if(!(Math.abs(A*y-E*_)>oS)||!p)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var R=u-v,B=d-b,j=y*y+E*E,W=R*R+B*B,ee=Math.sqrt(j),ie=Math.sqrt(P),oe=p*Math.tan((Cwe-Math.acos((j+P-W)/(2*ee*ie)))/2),be=oe/ie,ge=oe/ee;Math.abs(be-1)>oS&&(this._+="L"+(i+be*_)+","+(a+be*A)),this._+="A"+p+","+p+",0,0,"+ +(A*R>_*B)+","+(this._x1=i+ge*y)+","+(this._y1=a+ge*E)}},arc:function(i,a,u,d,p,v){i=+i,a=+a,u=+u,v=!!v;var b=u*Math.cos(d),y=u*Math.sin(d),E=i+b,_=a+y,A=1^v,P=v?d-p:p-d;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+E+","+_:(Math.abs(this._x1-E)>oS||Math.abs(this._y1-_)>oS)&&(this._+="L"+E+","+_),u&&(P<0&&(P=P%Swe+Swe),P>dcn?this._+="A"+u+","+u+",0,1,"+A+","+(i-b)+","+(a-y)+"A"+u+","+u+",0,1,"+A+","+(this._x1=E)+","+(this._y1=_):P>oS&&(this._+="A"+u+","+u+",0,"+ +(P>=Cwe)+","+A+","+(this._x1=i+u*Math.cos(p))+","+(this._y1=a+u*Math.sin(p))))},rect:function(i,a,u,d){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +u+"v"+ +d+"h"+-u+"Z"},toString:function(){return this._}};function nYe(i){return function(){return i}}function gcn(i){return i[0]}function pcn(i){return i[1]}var bcn=Array.prototype.slice;function mcn(i){return i.source}function vcn(i){return i.target}function wcn(i){var a=mcn,u=vcn,d=gcn,p=pcn,v=null;function b(){var y,E=bcn.call(arguments),_=a.apply(this,E),A=u.apply(this,E);if(v||(v=y=tYe()),i(v,+d.apply(this,(E[0]=_,E)),+p.apply(this,E),+d.apply(this,(E[0]=A,E)),+p.apply(this,E)),y)return v=null,y+""||null}return b.source=function(y){return arguments.length?(a=y,b):a},b.target=function(y){return arguments.length?(u=y,b):u},b.x=function(y){return arguments.length?(d=typeof y=="function"?y:nYe(+y),b):d},b.y=function(y){return arguments.length?(p=typeof y=="function"?y:nYe(+y),b):p},b.context=function(y){return arguments.length?(v=y??null,b):v},b}function ycn(i,a,u,d,p){i.moveTo(a,u),i.bezierCurveTo(a=(a+d)/2,u,a,p,d,p)}function xcn(){return wcn(ycn)}function kcn(i){return[i.source.x1,i.y0]}function Tcn(i){return[i.target.x0,i.y1]}function Ecn(){return xcn().source(kcn).target(Tcn)}const rYe=class EBe{static next(a){return new EBe(a+ ++EBe.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};rYe.count=0;let iYe=rYe;const Ccn={left:acn,right:ocn,center:ccn,justify:XWe},Scn={draw:function(i,a,u,d){const{securityLevel:p,sankey:v}=qt(),b=E$e.sankey;let y;p==="sandbox"&&(y=Dr("#i"+a));const E=Dr(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?E.select(`[id="${a}"]`):Dr(`[id="${a}"]`),A=(v==null?void 0:v.width)??b.width,P=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,B=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,j=(v==null?void 0:v.prefix)??b.prefix,W=(v==null?void 0:v.suffix)??b.suffix,ee=(v==null?void 0:v.showValues)??b.showValues,ie=d.db.getGraph(),oe=Ccn[B],be=10;fcn().nodeId(pe=>pe.id).nodeWidth(be).nodePadding(10+(ee?15:0)).nodeAlign(oe).extent([[0,0],[A,P]])(ie);const ae=PF(sRe);_.append("g").attr("class","nodes").selectAll(".node").data(ie.nodes).join("g").attr("class","node").attr("id",pe=>(pe.uid=iYe.next("node-")).id).attr("transform",function(pe){return"translate("+pe.x0+","+pe.y0+")"}).attr("x",pe=>pe.x0).attr("y",pe=>pe.y0).append("rect").attr("height",pe=>pe.y1-pe.y0).attr("width",pe=>pe.x1-pe.x0).attr("fill",pe=>ae(pe.id));const ne=({id:pe,value:G})=>ee?`${pe} +${j}${Math.round(G*100)/100}${W}`:pe;_.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(ie.nodes).join("text").attr("x",pe=>pe.x0(pe.y1+pe.y0)/2).attr("dy",`${ee?"0":"0.35"}em`).attr("text-anchor",pe=>pe.x0(G.uid=iYe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",G=>G.source.x1).attr("x2",G=>G.target.x0);pe.append("stop").attr("offset","0%").attr("stop-color",G=>ae(G.source.id)),pe.append("stop").attr("offset","100%").attr("stop-color",G=>ae(G.target.id))}let X;switch(de){case"gradient":X=pe=>pe.uid;break;case"source":X=pe=>ae(pe.source.id);break;case"target":X=pe=>ae(pe.target.id);break;default:X=de}se.append("path").attr("d",Ecn()).attr("stroke",X).attr("stroke-width",pe=>Math.max(1,pe.width)),x9(void 0,_,0,R)}},_cn=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),Acn=WJ.parse.bind(WJ);WJ.parse=i=>Acn(_cn(i));const Lcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:WJ,db:icn,renderer:Scn}},Symbol.toStringTag,{value:"Module"}));var Awe=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},a=[1,7],u=[1,13],d=[1,14],p=[1,15],v=[1,19],b=[1,16],y=[1,17],E=[1,18],_=[8,30],A=[8,21,28,29,30,31,32,40,44,47],P=[1,23],R=[1,24],B=[8,15,16,21,28,29,30,31,32,40,44,47],j=[8,15,16,21,27,28,29,30,31,32,40,44,47],W=[1,49],ee={trace:function(){},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,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList: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:49,$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:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"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],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(ge,ae,ne,se,de,X,pe){var G=X.length-1;switch(de){case 4:se.getLogger().debug("Rule: separator (NL) ");break;case 5:se.getLogger().debug("Rule: separator (Space) ");break;case 6:se.getLogger().debug("Rule: separator (EOF) ");break;case 7:se.getLogger().debug("Rule: hierarchy: ",X[G-1]),se.setHierarchy(X[G-1]);break;case 8:se.getLogger().debug("Stop NL ");break;case 9:se.getLogger().debug("Stop EOF ");break;case 10:se.getLogger().debug("Stop NL2 ");break;case 11:se.getLogger().debug("Stop EOF2 ");break;case 12:se.getLogger().debug("Rule: statement: ",X[G]),typeof X[G].length=="number"?this.$=X[G]:this.$=[X[G]];break;case 13:se.getLogger().debug("Rule: statement #2: ",X[G-1]),this.$=[X[G-1]].concat(X[G]);break;case 14:se.getLogger().debug("Rule: link: ",X[G],ge),this.$={edgeTypeStr:X[G],label:""};break;case 15:se.getLogger().debug("Rule: LABEL link: ",X[G-3],X[G-1],X[G]),this.$={edgeTypeStr:X[G],label:X[G-1]};break;case 18:const xe=parseInt(X[G]),U=se.generateId();this.$={id:U,type:"space",label:"",width:xe,children:[]};break;case 23:se.getLogger().debug("Rule: (nodeStatement link node) ",X[G-2],X[G-1],X[G]," typestr: ",X[G-1].edgeTypeStr);const Be=se.edgeStrToEdgeData(X[G-1].edgeTypeStr);this.$=[{id:X[G-2].id,label:X[G-2].label,type:X[G-2].type,directions:X[G-2].directions},{id:X[G-2].id+"-"+X[G].id,start:X[G-2].id,end:X[G].id,label:X[G-1].label,type:"edge",directions:X[G].directions,arrowTypeEnd:Be,arrowTypeStart:"arrow_open"},{id:X[G].id,label:X[G].label,type:se.typeStr2Type(X[G].typeStr),directions:X[G].directions}];break;case 24:se.getLogger().debug("Rule: nodeStatement (abc88 node size) ",X[G-1],X[G]),this.$={id:X[G-1].id,label:X[G-1].label,type:se.typeStr2Type(X[G-1].typeStr),directions:X[G-1].directions,widthInColumns:parseInt(X[G],10)};break;case 25:se.getLogger().debug("Rule: nodeStatement (node) ",X[G]),this.$={id:X[G].id,label:X[G].label,type:se.typeStr2Type(X[G].typeStr),directions:X[G].directions,widthInColumns:1};break;case 26:se.getLogger().debug("APA123",this?this:"na"),se.getLogger().debug("COLUMNS: ",X[G]),this.$={type:"column-setting",columns:X[G]==="auto"?-1:parseInt(X[G])};break;case 27:se.getLogger().debug("Rule: id-block statement : ",X[G-2],X[G-1]),se.generateId(),this.$={...X[G-2],type:"composite",children:X[G-1]};break;case 28:se.getLogger().debug("Rule: blockStatement : ",X[G-2],X[G-1],X[G]);const Pe=se.generateId();this.$={id:Pe,type:"composite",label:"",children:X[G-1]};break;case 29:se.getLogger().debug("Rule: node (NODE_ID separator): ",X[G]),this.$={id:X[G]};break;case 30:se.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",X[G-1],X[G]),this.$={id:X[G-1],label:X[G].label,typeStr:X[G].typeStr,directions:X[G].directions};break;case 31:se.getLogger().debug("Rule: dirList: ",X[G]),this.$=[X[G]];break;case 32:se.getLogger().debug("Rule: dirList: ",X[G-1],X[G]),this.$=[X[G-1]].concat(X[G]);break;case 33:se.getLogger().debug("Rule: nodeShapeNLabel: ",X[G-2],X[G-1],X[G]),this.$={typeStr:X[G-2]+X[G],label:X[G-1]};break;case 34:se.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",X[G-3],X[G-2]," #3:",X[G-1],X[G]),this.$={typeStr:X[G-3]+X[G],label:X[G-2],directions:X[G-1]};break;case 35:case 36:this.$={type:"classDef",id:X[G-1].trim(),css:X[G].trim()};break;case 37:this.$={type:"applyClass",id:X[G-1].trim(),styleClass:X[G].trim()};break;case 38:this.$={type:"applyStyles",id:X[G-1].trim(),stylesStr:X[G].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:u,29:d,31:p,32:v,40:b,44:y,47:E}),i(A,[2,16],{14:22,15:P,16:R}),i(A,[2,17]),i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),i(A,[2,21]),i(A,[2,22]),i(B,[2,25],{27:[1,25]}),i(A,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(j,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(B,[2,24]),{11:37,13:4,14:22,15:P,16:R,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(j,[2,30]),{18:[1,43]},{18:[1,44]},i(B,[2,23]),{18:[1,45]},{30:[1,46]},i(A,[2,28]),i(A,[2,35]),i(A,[2,36]),i(A,[2,37]),i(A,[2,38]),{37:[1,47]},{34:48,35:W},{15:[1,50]},i(A,[2,27]),i(j,[2,33]),{39:[1,51]},{34:52,35:W,39:[2,31]},{32:[2,15]},i(j,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,G="",xe=0,U=0,Be=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,pn,Tt,Et,Wt={},un,yt,Bt,Ze;;){if(pn=ne[ne.length-1],this.defaultActions[pn]?Tt=this.defaultActions[pn]:((Ne===null||typeof Ne>"u")&&(Ne=zt()),Tt=pe[pn]&&pe[pn][Ne]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Dt="";Ze=[];for(un in pe[pn])this.terminals_[un]&&un>Be&&Ze.push("'"+this.terminals_[un]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Ze})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ne);switch(Tt[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(Tt[1]),Ne=null,U=Ie.yyleng,G=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],Wt.$=de[de.length-yt],Wt._$={first_line:X[X.length-(yt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(yt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Wt._$.range=[X[X.length-(yt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Wt,[G,U,xe,Se.yy,Tt[1],de,X].concat(je)),typeof Et<"u")return Et;yt&&(ne=ne.slice(0,-1*yt*2),de=de.slice(0,-1*yt),X=X.slice(0,-1*yt)),ne.push(this.productions_[Tt[1]][0]),de.push(Wt.$),X.push(Wt._$),Bt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Bt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||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},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+ae+"^"},test_match:function(ge,ae){var ne,se,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))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.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],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),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})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ae,ne,se,de){switch(se){case 0:return 10;case 1:return ae.getLogger().debug("Found space-block"),31;case 2:return ae.getLogger().debug("Found nl-block"),31;case 3:return ae.getLogger().debug("Found space-block"),29;case 4:ae.getLogger().debug(".",ne.yytext);break;case 5:ae.getLogger().debug("_",ne.yytext);break;case 6:return 5;case 7:return ne.yytext=-1,28;case 8:return ne.yytext=ne.yytext.replace(/columns\s+/,""),ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ae.getLogger().debug("LEX: POPPING STR:",ne.yytext),this.popState();break;case 14:return ae.getLogger().debug("LEX: STR end:",ne.yytext),"STR";case 15:return ne.yytext=ne.yytext.replace(/space\:/,""),ae.getLogger().debug("SPACE NUM (LEX)",ne.yytext),21;case 16:return ne.yytext="1",ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ae.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ae.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ae.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ae.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ae.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ae.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ae.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ae.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ae.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ae.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ae.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ae.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ae.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ae.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ae.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ae.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ae.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ae.getLogger().debug("LEX ARR START"),38;case 75:return ae.getLogger().debug("Lex: NODE_ID",ne.yytext),32;case 76:return ae.getLogger().debug("Lex: EOF",ne.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ae.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ae.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ae.getLogger().debug("LEX: NODE_DESCR:",ne.yytext),"NODE_DESCR";case 84:ae.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ae.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (right): dir:",ne.yytext),"DIR";case 87:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (left):",ne.yytext),"DIR";case 88:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (x):",ne.yytext),"DIR";case 89:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (y):",ne.yytext),"DIR";case 90:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (up):",ne.yytext),"DIR";case 91:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (down):",ne.yytext),"DIR";case 92:return ne.yytext="]>",ae.getLogger().debug("Lex (ARROW_DIR end):",ne.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 94:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 95:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 96:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 97:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 98:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 99:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ae.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 103:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 104:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 105:return ae.getLogger().debug("Lex: COLON",ne.yytext),ne.yytext=ne.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\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:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();Awe.parser=Awe;const Mcn=Awe;let eb={},Lwe=[],hj={};const sYe="color",aYe="fill",Dcn="bgFill",oYe=",",Icn=qt();let fj={};const Ocn=i=>oi.sanitizeText(i,Icn),Ncn=function(i,a=""){fj[i]===void 0&&(fj[i]={id:i,styles:[],textStyles:[]});const u=fj[i];a!=null&&a.split(oYe).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(sYe)){const b=p.replace(aYe,Dcn).replace(sYe,aYe);u.textStyles.push(b)}u.styles.push(p)})},Pcn=function(i,a=""){const u=eb[i];a!=null&&(u.styles=a.split(oYe))},Bcn=function(i,a){i.split(",").forEach(function(u){let d=eb[u];if(d===void 0){const p=u.trim();eb[p]={id:p,type:"na",children:[]},d=eb[p]}d.classes||(d.classes=[]),d.classes.push(a)})},cYe=(i,a)=>{const u=i.flat(),d=[];for(const p of u){if(p.label&&(p.label=Ocn(p.label)),p.type==="classDef"){Ncn(p.id,p.css);continue}if(p.type==="applyClass"){Bcn(p.id,(p==null?void 0:p.styleClass)||"");continue}if(p.type==="applyStyles"){p!=null&&p.stylesStr&&Pcn(p.id,p==null?void 0:p.stylesStr);continue}if(p.type==="column-setting")a.columns=p.columns||-1;else if(p.type==="edge")hj[p.id]?hj[p.id]++:hj[p.id]=1,p.id=hj[p.id]+"-"+p.id,Lwe.push(p);else{p.label||(p.type==="composite"?p.label="":p.label=p.id);const v=!eb[p.id];if(v?eb[p.id]=p:(p.type!=="na"&&(eb[p.id].type=p.type),p.label!==p.id&&(eb[p.id].label=p.label)),p.children&&cYe(p.children,p),p.type==="space"){const b=p.width||1;for(let y=0;y{Xe.debug("Clear called"),Rg(),dj={id:"root",type:"composite",children:[],columns:-1},eb={root:dj},Mwe=[],fj={},Lwe=[],hj={}};function Rcn(i){switch(Xe.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Xe.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"}}function jcn(i){switch(Xe.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function $cn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let uYe=0;const zcn={getConfig:()=>mh().block,typeStr2Type:Rcn,edgeTypeStr2Type:jcn,edgeStrToEdgeData:$cn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(eb)],getBlocks:()=>Mwe||[],getEdges:()=>Lwe,setHierarchy:i=>{dj.children=i,cYe(i,dj),Mwe=dj.children},getBlock:i=>eb[i],setBlock:i=>{eb[i.id]=i},getColumns:i=>{const a=eb[i];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},getClasses:function(){return fj},clear:Fcn,generateId:()=>(uYe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+uYe)},ZJ=(i,a)=>{const u=XRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return _C(d,p,v,a)},qcn=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${ZJ(i.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${ZJ(i.mainBkg,.5)}; + fill: ${ZJ(i.clusterBkg,.5)}; + stroke: ${ZJ(i.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; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`;function lYe(i,a,u=!1){var R,B,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const E=gm((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:E.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:E.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(B=mh())==null?void 0:B.block)==null?void 0:j.padding)||0)}}async function Hcn(i,a,u){const d=lYe(a,u,!1);if(d.type==="group")return;const p=await pJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function Ucn(i,a,u){const d=lYe(a,u,!0);u.getBlock(d.id).type!=="space"&&(await pJ(i,d),a.intersect=d==null?void 0:d.intersect,ive(d))}async function Dwe(i,a,u,d){for(const p of a)await d(i,p,u),p.children&&await Dwe(i,p.children,u,d)}async function Vcn(i,a,u){await Dwe(i,a,u,Hcn)}async function Gcn(i,a,u){await Dwe(i,a,u,Ucn)}async function Kcn(i,a,u,d,p){const v=new R0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of a)if(b.start&&b.end){const y=d.getBlock(b.start),E=d.getBlock(b.end);if(y!=null&&y.size&&(E!=null&&E.size)){const _=y.size,A=E.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await cGe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await sve(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await aGe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const Jf=((gYe=(dYe=qt())==null?void 0:dYe.block)==null?void 0:gYe.padding)||8;function Wcn(i,a){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(i<0)return{px:a,py:0};if(i===1)return{px:0,py:a};const u=a%i,d=Math.floor(a/i);return{px:u,py:d}}const Ycn=i=>{let a=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>a&&(a=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:a,height:u}};function Iwe(i,a,u=0,d=0){var b,y,E,_,A,P,R,B,j,W,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((E=i.children)==null?void 0:E.length)>0){for(const de of i.children)Iwe(de,a);const ie=Ycn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+Jf*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)Iwe(de,a,p,v);const oe=i.columns||-1;let be=0;for(const de of i.children)be+=de.widthInColumns||1;let ge=i.children.length;oe>0&&oe0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*Jf-Jf)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const pe of i.children)pe.size&&(pe.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(B=i==null?void 0:i.size)==null?void 0:B.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(W=i==null?void 0:i.size)==null?void 0:W.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function hYe(i,a){var d,p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe,be;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const ge=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*ge+(i.children.length-1)*Jf;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(E=i==null?void 0:i.size)==null?void 0:E.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-Jf,de=0;for(const X of i.children){const pe=i;if(!X.size)continue;const{width:G,height:xe}=X.size,{px:U,py:Be}=Wcn(u,ne);if(Be!=de&&(de=Be,se=(R=i==null?void 0:i.size)!=null&&R.x?((B=i==null?void 0:i.size)==null?void 0:B.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-Jf,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Be} (${(W=pe==null?void 0:pe.size)==null?void 0:W.x},${(ee=pe==null?void 0:pe.size)==null?void 0:ee.y}) parent: ${pe.id} width: ${G}${Jf}`),pe.size){const Pe=G/2;X.size.x=se+Jf+Pe,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Pe} padding=${Jf} width=${G} halfWidth=${Pe} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${G*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Pe,X.size.y=pe.size.y-pe.size.height/2+Be*(xe+Jf)+xe/2+Jf,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${Jf}${Pe}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${G*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&hYe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(be=i==null?void 0:i.size)==null?void 0:be.width}`)}function fYe(i,{minX:a,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:E}=i.size;v-y/2d&&(d=v+y/2),b+E/2>p&&(p=b+E/2)}if(i.children)for(const v of i.children)({minX:a,minY:u,maxX:d,maxY:p}=fYe(v,{minX:a,minY:u,maxX:d,maxY:p}));return{minX:a,minY:u,maxX:d,maxY:p}}function Xcn(i){const a=i.getBlock("root");if(!a)return;Iwe(a,i,0,0),hYe(a),Xe.debug("getBlocks",JSON.stringify(a,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=fYe(a),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Qcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Mcn,db:zcn,renderer:{draw:async function(i,a,u,d){const{securityLevel:p,block:v}=mh(),b=d.db;let y;p==="sandbox"&&(y=Dr("#i"+a));const E=Dr(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?E.select(`[id="${a}"]`):Dr(`[id="${a}"]`);Ume(_,["point","circle","cross"],d.type,a);const P=b.getBlocks(),R=b.getBlocksFlat(),B=b.getEdges(),j=_.insert("g").attr("class","block");await Vcn(j,P,b);const W=Xcn(b);if(await Gcn(j,P,b),await Kcn(j,B,R,b,a),W){const ee=W,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,be=ee.width+10,{useMaxWidth:ge}=v;Fg(_,oe,be,!!ge),Xe.debug("Here Bounds",W,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}PF(sRe)},getClasses:function(i,a){return a.db.getClasses()}},styles:qcn}},Symbol.toStringTag,{value:"Module"}));return bm}); diff --git a/e-compliance/ims/cockpit/build_cockpit.py b/e-compliance/ims/cockpit/build_cockpit.py new file mode 100644 index 0000000..00b71c3 --- /dev/null +++ b/e-compliance/ims/cockpit/build_cockpit.py @@ -0,0 +1,602 @@ +#!/usr/bin/env python3 +"""IMS Management Cockpit Generator. + +Liest die IMS-Markdown-Dokumente (Ordner ../), parst die Dokumentenlenkungs-Header, +konvertiert Markdown -> HTML und erzeugt EINE in sich geschlossene Datei +``IMS-Cockpit.html`` (Mermaid inline), die per Doppelklick (file://) offline nutzbar ist. + +Aufruf: python build_cockpit.py +Ergebnis: IMS-Cockpit.html im selben Ordner. + +Keine externen Python-Pakete nötig. Mermaid wird einmalig von einem CDN geladen und +in ../cockpit/_vendor/ zwischengespeichert, danach in die HTML eingebettet (offline). +""" + +import os +import re +import json +import html +import datetime +import urllib.request + +HERE = os.path.dirname(os.path.abspath(__file__)) +IMS_DIR = os.path.dirname(HERE) # .../ims +OUT_FILE = os.path.join(HERE, "IMS-Cockpit.html") +VENDOR_DIR = os.path.join(HERE, "_vendor") +MERMAID_URL = "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js" + +CHAPTER_LABELS = { + "00": "Handbuch", + "01_kontext": "4 - Kontext", + "02_fuehrung": "5 - Führung", + "03_planung": "6 - Planung", + "04_unterstuetzung": "7 - Unterstützung", + "05_betrieb": "8 - Betrieb / Annex A", + "06_bewertung": "9 - Bewertung", + "07_verbesserung": "10 - Verbesserung", + "mappings": "Mappings", +} +CHAPTER_ORDER = list(CHAPTER_LABELS.keys()) +TODAY = datetime.date.today() + + +# --------------------------------------------------------------------------- # +# Markdown -> HTML (dependency-free) # +# --------------------------------------------------------------------------- # +def _inline(text): + codes = [] + + def _grab(m): + codes.append(m.group(1)) + return "\x00C%d\x00" % (len(codes) - 1) + + text = re.sub(r"`([^`]+)`", _grab, text) + text = html.escape(text, quote=False) + text = re.sub( + r"\[([^\]]+)\]\(([^)]+)\)", + lambda m: '%s' % (html.escape(m.group(2), quote=True), m.group(1)), + text, + ) + text = re.sub(r"\*\*([^*]+)\*\*", r"\1", text) + text = re.sub(r"(?\1", text) + + def _restore(m): + return "" + html.escape(codes[int(m.group(1))], quote=False) + "" + + return re.sub(r"\x00C(\d+)\x00", _restore, text) + + +def _cells(row): + row = row.strip() + if row.startswith("|"): + row = row[1:] + if row.endswith("|"): + row = row[:-1] + return [c.strip() for c in row.split("|")] + + +def _table(header, rows): + head = "".join("%s" % _inline(c) for c in _cells(header)) + body = "" + for r in rows: + body += "" + "".join("%s" % _inline(c) for c in _cells(r)) + "" + return "%s%s
" % (head, body) + + +def md_to_html(md): + lines = md.split("\n") + out = [] + i, n = 0, len(lines) + while i < n: + line = lines[i] + if re.match(r"^\s*\s*$", line): + i += 1 + continue + m = re.match(r"^```(\w*)\s*$", line.strip()) + if m: + lang = m.group(1) + i += 1 + buf = [] + while i < n and not lines[i].strip().startswith("```"): + buf.append(lines[i]) + i += 1 + i += 1 + code = "\n".join(buf) + if lang == "mermaid": + out.append('
%s
' % html.escape(code, quote=False)) + else: + out.append('
%s
' % html.escape(code, quote=False)) + continue + if line.strip() == "": + i += 1 + continue + if re.match(r"^\s*(---|\*\*\*|___)\s*$", line): + out.append("
") + i += 1 + continue + hm = re.match(r"^(#{1,6})\s+(.*)$", line) + if hm: + lvl = len(hm.group(1)) + out.append("%s" % (lvl, _inline(hm.group(2).strip()), lvl)) + i += 1 + continue + if "|" in line and i + 1 < n and "-" in lines[i + 1] and re.match(r"^\s*\|?[\s:|-]+\|?\s*$", lines[i + 1]): + header = line + i += 2 + rows = [] + while i < n and "|" in lines[i] and lines[i].strip() != "": + rows.append(lines[i]) + i += 1 + out.append(_table(header, rows)) + continue + if re.match(r"^\s*>\s?", line): + buf = [] + while i < n and re.match(r"^\s*>\s?", lines[i]): + buf.append(re.sub(r"^\s*>\s?", "", lines[i])) + i += 1 + out.append("
%s
" % _inline(" ".join(buf))) + continue + if re.match(r"^\s*([-*+])\s+", line) or re.match(r"^\s*\d+\.\s+", line): + ordered = bool(re.match(r"^\s*\d+\.\s+", line)) + tag = "ol" if ordered else "ul" + items = [] + while i < n and (re.match(r"^\s*([-*+])\s+", lines[i]) or re.match(r"^\s*\d+\.\s+", lines[i])): + item = re.sub(r"^\s*([-*+]|\d+\.)\s+", "", lines[i]) + items.append("
  • %s
  • " % _inline(item)) + i += 1 + out.append("<%s>%s" % (tag, "".join(items), tag)) + continue + buf = [line] + i += 1 + while i < n and lines[i].strip() != "" and not re.match( + r"^(#{1,6})\s|^\s*```|^\s*([-*+])\s+|^\s*\d+\.\s+|^\s*>\s?", lines[i] + ) and "|" not in lines[i]: + buf.append(lines[i]) + i += 1 + out.append("

    %s

    " % _inline(" ".join(b.strip() for b in buf))) + return "\n".join(out) + + +# --------------------------------------------------------------------------- # +# Parsing helpers # +# --------------------------------------------------------------------------- # +def parse_header(text): + """Parse only the contiguous comment block at the very top of the file.""" + meta = {} + for line in text.split("\n"): + s = line.strip() + if s == "": + continue + m = re.match(r"^$", s) + if m: + meta[m.group(1)] = m.group(2).strip() + continue + break # first non-comment, non-blank line ends the header block + return meta + + +def doc_title(text, fallback): + m = re.search(r"^#\s+(.*)$", text, re.M) + return m.group(1).strip() if m else fallback + + +def parse_date(value): + if not value: + return None + try: + return datetime.datetime.strptime(value.strip(), "%Y-%m-%d").date() + except ValueError: + return None + + +def find_zu_pruefen(text): + hits = [] + current = "" + for line in text.split("\n"): + hm = re.match(r"^#{1,6}\s+(.*)$", line) + if hm: + current = hm.group(1).strip() + scan = re.sub(r"`[^`]*`", "", line) # Inline-Code (Marker-Erklaerungen) ignorieren + if re.search(r"ZU\s*PR(?:UE|\u00dc)FEN", scan, re.I): + hits.append(current or "(Dokumentanfang)") + return hits + + +def parse_massnahmen(text): + """Parse the markdown action register table -> list of dict.""" + rows = [] + lines = text.split("\n") + header_idx = None + for idx, line in enumerate(lines): + if "|" in line and re.search(r"\bID\b", line) and re.search(r"Titel", line, re.I): + nxt = lines[idx + 1] if idx + 1 < len(lines) else "" + if "-" in nxt and re.match(r"^\s*\|?[\s:|-]+\|?\s*$", nxt): + header_idx = idx + break + if header_idx is None: + return rows + cols = [c.strip().lower() for c in _cells(lines[header_idx])] + for line in lines[header_idx + 2:]: + if "|" not in line or line.strip() == "": + break + vals = _cells(line) + if len(vals) < len(cols): + continue + row = dict(zip(cols, vals)) + rows.append( + { + "id": row.get("id", ""), + "titel": row.get("titel", ""), + "owner": row.get("owner", ""), + "quelle": row.get("quelle", ""), + "faellig": row.get("faellig", "") or row.get("f\u00e4llig", ""), + "status": row.get("status", ""), + } + ) + return rows + + +# --------------------------------------------------------------------------- # +# Collect documents # +# --------------------------------------------------------------------------- # +def collect_docs(): + docs = [] + for root, dirs, files in os.walk(IMS_DIR): + dirs[:] = [d for d in dirs if d not in ("cockpit", "_vendor")] + for fn in files: + if not fn.endswith(".md"): + continue + full = os.path.join(root, fn) + rel = os.path.relpath(full, IMS_DIR).replace("\\", "/") + with open(full, "r", encoding="utf-8") as fh: + text = fh.read() + parts = rel.split("/") + chapter = "00" if len(parts) == 1 else parts[0] + meta = parse_header(text) + next_review = parse_date(meta.get("nextReview")) + overdue = bool(next_review and next_review < TODAY and meta.get("status") not in ("abgeloest", "abgelöst")) + docs.append( + { + "id": rel, + "path": rel, + "chapter": chapter, + "title": doc_title(text, fn), + "filename": fn, + "meta": meta, + "html": md_to_html(text), + "text": re.sub(r"\s+", " ", text).lower(), + "nextReview": meta.get("nextReview", ""), + "overdueReview": overdue, + "zuPruefen": find_zu_pruefen(text), + } + ) + docs.sort(key=lambda d: (CHAPTER_ORDER.index(d["chapter"]) if d["chapter"] in CHAPTER_ORDER else 99, d["filename"])) + return docs + + +def get_mermaid_js(): + os.makedirs(VENDOR_DIR, exist_ok=True) + cache = os.path.join(VENDOR_DIR, "mermaid.min.js") + if os.path.exists(cache): + with open(cache, "r", encoding="utf-8") as fh: + return fh.read() + try: + print("Lade mermaid.min.js vom CDN ...") + req = urllib.request.Request(MERMAID_URL, headers={"User-Agent": "Mozilla/5.0"}) + data = urllib.request.urlopen(req, timeout=30).read().decode("utf-8") + with open(cache, "w", encoding="utf-8") as fh: + fh.write(data) + return data + except Exception as exc: # noqa: BLE001 + print("WARNUNG: mermaid.min.js konnte nicht geladen werden (%s). Diagramme werden als Code angezeigt." % exc) + return "" + + +# --------------------------------------------------------------------------- # +# HTML assembly # +# --------------------------------------------------------------------------- # +def build(): + docs = collect_docs() + + pendenzen_reg = [] + for d in docs: + if d["filename"] == "massnahmen-register.md": + with open(os.path.join(IMS_DIR, d["path"]), "r", encoding="utf-8") as fh: + pendenzen_reg = parse_massnahmen(fh.read()) + + overdue_reviews = [ + {"id": d["id"], "title": d["title"], "owner": d["meta"].get("owner", ""), "nextReview": d["nextReview"]} + for d in docs + if d["overdueReview"] + ] + zu_pruefen = [ + {"id": d["id"], "title": d["title"], "section": s} + for d in docs + for s in d["zuPruefen"] + ] + + status_counts = {} + for d in docs: + st = d["meta"].get("status", "unbekannt") + status_counts[st] = status_counts.get(st, 0) + 1 + + open_reg = [p for p in pendenzen_reg if p["status"].lower() != "erledigt"] + overdue_reg = [p for p in open_reg if (parse_date(p["faellig"]) and parse_date(p["faellig"]) < TODAY)] + + stats = { + "docs": len(docs), + "statusCounts": status_counts, + "overdueReviews": len(overdue_reviews), + "openPendenzen": len(open_reg), + "overduePendenzen": len(overdue_reg), + "generated": TODAY.isoformat(), + } + chapters = [{"key": k, "label": CHAPTER_LABELS[k]} for k in CHAPTER_ORDER] + + payload = { + "docs": docs, + "chapters": chapters, + "pendenzenReg": pendenzen_reg, + "overdueReviews": overdue_reviews, + "zuPruefen": zu_pruefen, + "stats": stats, + "today": TODAY.isoformat(), + } + data_json = json.dumps(payload, ensure_ascii=False).replace(" + + + + +PowerOn IMS - Management Cockpit + + + +
    + +
    +
    Dashboard
    +
    +
    +
    + + + + + +""" + + +if __name__ == "__main__": + build() diff --git a/e-compliance/ims/mappings/cacc-iso-crosswalk.md b/e-compliance/ims/mappings/cacc-iso-crosswalk.md index 56e9304..a958539 100644 --- a/e-compliance/ims/mappings/cacc-iso-crosswalk.md +++ b/e-compliance/ims/mappings/cacc-iso-crosswalk.md @@ -1,56 +1,53 @@ -# E-Compliance Prozessübersicht — PowerOn / PORTA + + + + + + + + + -**Zweck:** Dieses Verzeichnis enthält die dokumentierten Prozesse und Konzepte der PowerOn AG zum Nachweis der Anforderungen aus dem **GLKB Cloud Assessment Criteria Catalogue (CACC)** sowie den FINMA-Rundschreiben 2018/3 und 2023/1. +# CACC / FINMA <-> ISO-Crosswalk -**Stand:** 02.06.2026 -**Geltungsbereich:** PORTA Enterprise KI-Plattform (`api.poweron.swiss`) -**Hinweis:** `[ZU PRÜFEN]` markiert Stellen, an denen ein Fakt vor Einreichung verifiziert oder ergänzt werden muss. +**Zweck:** Verknüpft die bestehenden Prozessdokumente (ursprünglich für **GLKB Cloud Assessment Criteria Catalogue (CACC)** und FINMA-Rundschreiben 2018/3 & 2023/1 erstellt) mit ihren neuen Speicherorten im IMS sowie den abgedeckten CACC-Punkten. Das Annex-A-Mapping für ISO 27001 ist das [SoA](../03_planung/statement-of-applicability-soa.md). ---- +**Stand:** 2026-06-03 +**Hinweis:** `[ZU PRÜFEN]` markiert Stellen, die vor einer Einreichung verifiziert werden müssen. -## Rahmenbedingungen (gelten für alle Dokumente) +## Rahmenbedingungen -- **Hosting & Datenspeicherung:** Infomaniak Public Cloud, Schweiz (`api.poweron.swiss`, `db.poweron.swiss`). -- **Datenverarbeitung KI:** Inhaltsdaten werden zur KI-Verarbeitung an externe LLM-Provider übermittelt. **Primärprovider ist OpenAI (USA).** Diese Übermittlung verlässt die Schweiz und ist über AVV/DPA + EU-SCC abgesichert (siehe Drittanbieter-Inventar und Verschlüsselungskonzept). -- **Team:** Sehr kleines Team (2–5 Personen). Wo Katalogpunkte eine grössere Organisation voraussetzen (24/7-SOC, vollständige Funktionstrennung), werden **kompensierende Massnahmen** beschrieben. +- **Hosting:** Infomaniak Public Cloud, Schweiz (`api.poweron.swiss`, `db.poweron.swiss`). +- **KI-Verarbeitung:** Inhaltsdaten gehen an externe LLM-Provider (Primär OpenAI/USA); abgesichert via AVV/DPA + EU-SCC + Neutralisierung. +- **Team:** 2-5 Personen; wo Katalogpunkte grössere Organisationen voraussetzen, greifen kompensierende Massnahmen. ---- +## Dokumentenkarte -> neuer Ort + CACC-Punkte -## Dokumentenkarte → CACC-Punkte - -| Dokument | Abgedeckte CACC-Punkte | +| Dokument (neuer Ort in `ims/`) | CACC-Punkte | |---|---| -| `01_Informationssicherheitsrichtlinie.md` | 49, 52, 56 | -| `02_Zugriffsmanagement_IAM_PAM.md` | 25, 36, 37, 66, 67, 68, 69 | -| `03_Mitarbeitersicherheit_und_Screening.md` | 23, 35, 37 | -| `04_Verschluesselung_und_Schluesselmanagement.md` | 43, 44, 45, 46, 70, 71, 72 | -| `05_Backup_und_Wiederherstellung.md` | 75, 87 | -| `06_Business_Continuity_und_Disaster_Recovery.md` | 3, 79, 87 | -| `07_Incident_Response_und_Meldewesen.md` | 19, 20, 27, 86 | -| `08_Change_Management.md` | 81, 82, 83 | -| `09_Patch_Management.md` | 78 | -| `10_Schwachstellenmanagement.md` | 54, 59, 63, 84 | -| `11_Logging_und_Monitoring.md` | 88, 89, 90, 91, 92, 93, 94 | -| `12_Netzwerk_und_Infrastruktursicherheit.md` | 95, 96, 97, 98, 99 | -| `13_Datenaufbewahrung_Loeschung_LegalHold.md` | 1, 2, 38, 72 | -| `14_Exit_und_Transition.md` | 4, 5, 6, 22 | -| `15_Sichere_Softwareentwicklung_SDLC.md` | 100, 101, 102 | -| `16_Kapazitaetsmanagement.md` | 80 | -| `17_Subunternehmer_Management.md` | 16, 31, 48, 53 | -| `18_Analyse_Recht_und_BestPractice.md` | Befundbericht (rechtlich / Best Practice, intern) | -| **Bestehend:** `drittanbieter-inventar.md` | 48, 53, 61 | -| **Bestehend:** `datenbank-handling.md` | 2, 38, 75 (teilw.) | -| **Bestehend:** `bcm_runbook.md` | 3, 87 (technisch) | -| **Bestehend:** `feature_release_bugfix.md` | 81, 100, 101 (teilw.) | +| `02_fuehrung/informationssicherheitspolitik.md` | 49, 52, 56 | +| `05_betrieb/02_Zugriffsmanagement_IAM_PAM.md` | 25, 36, 37, 66, 67, 68, 69 | +| `05_betrieb/03_Mitarbeitersicherheit_und_Screening.md` | 23, 35, 37 | +| `05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md` | 43, 44, 45, 46, 70, 71, 72 | +| `05_betrieb/05_Backup_und_Wiederherstellung.md` | 75, 87 | +| `05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md` | 3, 79, 87 | +| `05_betrieb/07_Incident_Response_und_Meldewesen.md` | 19, 20, 27, 86 | +| `05_betrieb/08_Change_Management.md` | 81, 82, 83 | +| `05_betrieb/09_Patch_Management.md` | 78 | +| `05_betrieb/10_Schwachstellenmanagement.md` | 54, 59, 63, 84 | +| `05_betrieb/11_Logging_und_Monitoring.md` | 88, 89, 90, 91, 92, 93, 94 | +| `05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md` | 95, 96, 97, 98, 99 | +| `05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md` | 1, 2, 38, 72 | +| `05_betrieb/14_Exit_und_Transition.md` | 4, 5, 6, 22 | +| `05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md` | 100, 101, 102 | +| `05_betrieb/16_Kapazitaetsmanagement.md` | 80 | +| `05_betrieb/17_Subunternehmer_Management.md` | 16, 31, 48, 53 | +| `05_betrieb/18_Analyse_Recht_und_BestPractice.md` | Befundbericht (intern) | +| `05_betrieb/20260528_drittanbieter-inventar.md` | 48, 53, 61 | +| `05_betrieb/20260528_datenbank-handling.md` | 2, 38, 75 (teilw.) | +| `05_betrieb/20260528_bcm_runbook.md` | 3, 87 (technisch) | +| `05_betrieb/20260528_feature_release_bugfix.md` | 81, 100, 101 (teilw.) | ---- +## Offene Punkte (in Massnahmenregister überführt) -## Offene Punkte vor Einreichung (Sammelliste) - -- [ ] Verschlüsselung at-rest der Infomaniak-DB bestätigen (Konzept #04) -- [ ] MFA-Status auf Admin-/Server-Zugängen bestätigen (#02) -- [ ] Hintergrundprüfungen bei Einstellung klären (#03) -- [ ] Log-Aufbewahrungsdauer und Manipulationsschutz festlegen (#11) -- [ ] Restore-Test-Protokoll erstmalig durchführen und ablegen (#05) -- [ ] AVV/Zero-Retention-Verträge mit OpenAI & weiteren LLM-Providern ablegen (#17) -- [ ] Entscheidung zu produktiven Daten in Testumgebung (#15) +Die frühere Sammelliste offener Punkte wird jetzt zentral im [Massnahmenregister](../07_verbesserung/massnahmen-register.md) geführt (M-01 bis M-07 u. a.: at-rest-Verschlüsselung, MFA, Hintergrundprüfungen, Log-Retention, Restore-Test, AVVs, Testdaten). diff --git a/e-compliance/ims/mappings/iso27001-annexA-soa-mapping.md b/e-compliance/ims/mappings/iso27001-annexA-soa-mapping.md new file mode 100644 index 0000000..2e2325c --- /dev/null +++ b/e-compliance/ims/mappings/iso27001-annexA-soa-mapping.md @@ -0,0 +1,17 @@ + + + + + + + + + + +# Mapping ISO/IEC 27001:2022 Annex A + +Das massgebliche Mapping aller 93 Annex-A-Controls (Anwendbarkeit, Status, umsetzendes Dokument) ist das **Statement of Applicability**: + +-> [Statement of Applicability (SoA)](../03_planung/statement-of-applicability-soa.md) + +Die ISO-27001-Hauptklauseln 4-10 werden durch das Managementsystem-Geruest abgedeckt; siehe [iso9001-klausel-mapping.md](iso9001-klausel-mapping.md) (strukturgleich, Annex SL) sowie die `isoRefs`-Header der einzelnen Dokumente. diff --git a/e-compliance/ims/mappings/iso9001-klausel-mapping.md b/e-compliance/ims/mappings/iso9001-klausel-mapping.md new file mode 100644 index 0000000..d53c6f6 --- /dev/null +++ b/e-compliance/ims/mappings/iso9001-klausel-mapping.md @@ -0,0 +1,34 @@ + + + + + + + + + + +# Mapping ISO 9001:2015 -- Klauseln zu IMS-Dokumenten + +Nachweis, welches Dokument welche ISO-9001-Anforderung abdeckt. + +| Klausel | Anforderung | Dokument | +|---|---|---| +| 4.1/4.2 | Kontext, interessierte Parteien | [kontext-und-interessierte-parteien.md](../01_kontext/kontext-und-interessierte-parteien.md) | +| 4.3/4.4 | Geltungsbereich, QMS & Prozesse | [geltungsbereich-scope.md](../01_kontext/geltungsbereich-scope.md) | +| 5.1/5.2 | Führung, Qualitätspolitik | [qm-politik.md](../02_fuehrung/qm-politik.md), [00_IMS-Handbuch.md](../00_IMS-Handbuch.md) | +| 5.3 | Rollen & Verantwortlichkeiten | [rollen-verantwortlichkeiten.md](../02_fuehrung/rollen-verantwortlichkeiten.md) | +| 6.1 | Risiken & Chancen | [risikomanagement-methodik.md](../03_planung/risikomanagement-methodik.md), [risikoregister.md](../03_planung/risikoregister.md) | +| 6.2 | Qualitätsziele | [ziele-und-kennzahlen.md](../03_planung/ziele-und-kennzahlen.md) | +| 7.1-7.3 | Ressourcen, Kompetenz, Awareness | [ressourcen-kompetenz-schulung.md](../04_unterstuetzung/ressourcen-kompetenz-schulung.md) | +| 7.4 | Kommunikation | [kommunikation.md](../04_unterstuetzung/kommunikation.md) | +| 7.5 | Dokumentierte Information | [dokumentenlenkung.md](../04_unterstuetzung/dokumentenlenkung.md), [dokumentenregister.md](../04_unterstuetzung/dokumentenregister.md) | +| 8.1-8.6 | Betrieb, Anforderungen, Entwicklung, Realisierung | [feature_release_bugfix.md](../05_betrieb/20260528_feature_release_bugfix.md), [SDLC](../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md), [Change](../05_betrieb/08_Change_Management.md) | +| 9.1 | Monitoring, Messung, Analyse | [monitoring-messung.md](../06_bewertung/monitoring-messung.md) | +| 9.2 | Internes Audit | [internes-audit.md](../06_bewertung/internes-audit.md) | +| 9.3 | Management-Review | [management-review.md](../06_bewertung/management-review.md) | +| 10.1-10.3 | Verbesserung, Nichtkonformität, KVP | [korrekturmassnahmen-und-kvp.md](../07_verbesserung/korrekturmassnahmen-und-kvp.md), [massnahmen-register.md](../07_verbesserung/massnahmen-register.md) | + +## ISO/IEC 27001 Annex A + +Das Mapping der ISO-27001-Annex-A-Controls ist das [Statement of Applicability (SoA)](../03_planung/statement-of-applicability-soa.md). Die ISO-27001-Klauseln 4-10 sind strukturgleich zu ISO 9001 (Annex SL) und werden durch dieselben oben gelisteten Dokumente abgedeckt (vgl. `isoRefs`-Header je Dokument). diff --git a/e-compliance/Prozesse/20260603_PowerON_AGB_v1.0_1.md b/e-compliance/nachweise/vorlagen/20260603_PowerON_AGB_v1.0_1.md similarity index 100% rename from e-compliance/Prozesse/20260603_PowerON_AGB_v1.0_1.md rename to e-compliance/nachweise/vorlagen/20260603_PowerON_AGB_v1.0_1.md diff --git a/e-compliance/neutralisierung-detail.md b/e-compliance/neutralisierung-detail.md deleted file mode 100644 index afe138d..0000000 --- a/e-compliance/neutralisierung-detail.md +++ /dev/null @@ -1,203 +0,0 @@ -# Neutralisierung - -**Stand:** 2026-04-16 - ---- - -## 1. Grundidee - -Neutralisierung passiert dort, wo **Content entsteht oder ins System einfliesst** — nicht als nachgelagerter Filter vor dem Modell-Call. Wenn Content einmal neutralisiert ist (z. B. im RAG), bleibt er neutralisiert. Kein doppeltes Verarbeiten. - ---- - -## 2. Wer fordert Neutralisierung? - -Drei Quellen, von breit nach spezifisch: - -| Quelle | Flag im Code | Bedeutung | -|--------|-------------|-----------| -| **Feature-Instanz** | `DataNeutraliserConfig.enabled` (hat `featureInstanceId` + `mandateId`) | Alle Daten in dieser Feature-Instanz werden neutralisiert. Betrifft jeden Content-Einstieg innerhalb dieser Instanz. | -| **Chat-Workflow / Session** | `ServiceCenterContext.requireNeutralization` (gesetzt z. B. vom AI-Workspace oder Automation) | Dieser Workflow/Turn: jeder Content, der hier verarbeitet wird, wird neutralisiert. | -| **Dokument oder Quelle** | `FileItem.neutralize`, `FileFolder.neutralize`, `DataSource.neutralize`, `FeatureDataSource.neutralize`, `FeatureDataSource.neutralizeFields` | Dieses konkrete Objekt: Content daraus wird neutralisiert, egal ob die Feature-Instanz oder der Workflow es sonst fordern würden. `FileFolder.neutralize` propagiert auf alle enthaltenen Dateien. `neutralizeFields` ermoeglicht Feld-Level-Maskierung bei DB-Queries. | - -**Auswertung:** Irgendeine Quelle sagt `True` → neutralisieren. Keine Quelle kann eine andere aufheben. Es gibt kein `False`-Override, das ein `True` von woanders aushebelt. - ---- - -## 3. Wo passiert die Neutralisierung? - -Am **Punkt der Content-Einspeisung** — dort wo Rohdaten zu verarbeitbarem Content werden: - -| Content-Einstieg | Was passiert | Wer prüft das Flag | -|------------------|-------------|---------------------| -| **Datei-Indexierung** (RAG) | Text-Chunks werden über `processText` neutralisiert, bevor sie ins Embedding gehen. Medien: nur internes Modell oder nicht indexieren. Ergebnis: RAG enthält nur neutralisierten Content. | `mainServiceKnowledge.indexFile` liest `FileItem.neutralize` | -| **Content-Extraktion** (Dokumente für KI-Verarbeitung) | Extrahierter Text/Tabellen werden neutralisiert. PDF, DOCX, XLSX, PPTX über `processFile` (Extract → neutralisieren → zurückschreiben). | Caller kennt die Quelle und deren Flag | -| **User-Prompt** (Chat-Eingabe) | Prompt-Text wird durch `processText` neutralisiert, wenn Feature-Instanz oder Workflow es fordern. | `mainServiceAi` prüft Context-Flag / Config | -| **DataSource-Download** | Flag wird auf erstellte `FileItem`s vererbt → bei Extraktion/Indexierung greift das File-Flag automatisch. | `mainServiceAgent._resolveDataSource` / `_downloadFromDataSource` | -| **FeatureDataSource-Abfrage (Tabelle)** | Wenn eine `FeatureDataSource.neutralize=True` hat → Content aus diesem Sub-Agent-Call wird neutralisiert. | `mainServiceAgent._queryFeatureInstance` setzt `requireNeutralization=True` | -| **FeatureDataSource-Abfrage (Feld/Typ, seit 2026-06)** | Typ- und vererbungsbewusst: **Strings** werden substring-neutralisiert sobald effektiv (explizit ODER geerbt, Feldname als Typ-Hint); **Binary** wird gedroppt; **andere Skalare** (number/date/bool) nur bei **explizitem** Feld-Flag als Ganzwert-Platzhalter `[NEUT..]`. Identifikatoren/System-Spalten ausgenommen, Engine-Ausfall = `[REDACTED]`. RAG-Bootstrap nutzt dieselbe Policy (Query- und Index-Pfad konsistent). | `featureDataProvider.finalizeRowsAsync` / `_neutralizeAndSerializeRows`; Policy aus `coreTools/_featureSubAgentTools` via `resolveEffectiveForFds` | -| **De-Neutralisierung für Download (seit 2026-06)** | Read-only Agent-Tool `revealDocument` löst Platzhalter **nur** über das lokale Mapping (`resolveText`, kein externes LLM) auf und liefert Klartext als transienten Einmal-Download (SSE `revealDownload`) — kein Save/Index/Historie. | `coreTools/_mediaTools._revealDocument` | -| **Ordner-Neutralisierung** | `FileFolder.neutralize=True` propagiert auf alle enthaltenen Dateien (rekursiv). Neue/verschobene Dateien erben das Flag. Index-Purge + Re-Index wie bei einzelnen Dateien. | `routeDataFiles.updateFolderNeutralize` | -| **Workflow-Aktion `neutralizeData`** | Expliziter Neutralisierungs-Schritt auf bereits extrahierten ContentParts. | Workflow-Config + `NeutralizationConfig.enabled` | - -**Was NICHT nochmal neutralisiert werden muss:** -- RAG-Chunks, die bereits neutralisiert indexiert sind — die sind schon sauber. -- Web-Suchergebnisse — enthalten keine Mandantendaten, brauchen keine Neutralisierung. - -**Flag-Änderung:** Ändert sich `FileItem.neutralize` (Toggle) → Index löschen → Re-Indexierung triggern → neuer Index ist im richtigen Zustand. - ---- - -## 4. Engine: `NeutralizationService` - -Eine Engine, drei Einstiege, aufgerufen an den Content-Einstiegspunkten aus Abschnitt 3. - -| API | Eingabe | Status | -|-----|---------|--------| -| `processText(text)` | Rohtext (Prompt, Message, Text-ContentPart, Text-Chunk) | **Ist** | -| `processFile(fileId)` | Datei aus DB — wird nach MIME geroutet | **Ist** | -| `processBinaryBytes` / `Async` | Bytes + Dateiname + MIME | **Ist** | -| **`processImage(imageBytes, fileName)`** / `processImageAsync` | Bild-Datei oder Bild-ContentPart (image/png, image/jpeg, …) | **Ist** (seit ~2026 Q1) | - -**Ist-Zustand Bilder (aktualisiert 2026-04-05):** `processImageAsync` ist implementiert und nutzt `NEUTRALIZATION_IMAGE` (Private LLM Vision). `_processBinaryFile` verarbeitet jetzt Bild-Parts ueber `processImageAsync`. **Einschraenkung:** Eigenstaendige Bild-Dateien (`image/*` MIME direkt an `processFile`) werden in `_isBinaryMimeType` weiterhin als Skip behandelt. - -**Ist (aktualisiert):** `processImageAsync` existiert als Einstieg. Ruft internes Vision-Modell (`NEUTRALIZATION_IMAGE` → Private-LLM) auf, um sensible Inhalte in Bildern zu erkennen/entfernen. Kein externer Provider. Modell nicht verfügbar → Bild blockieren (nicht unbehandelt weiterreichen). - -**Ablauf nach MIME:** - -| MIME | Pfad | -|------|------| -| PDF, DOCX, XLSX, PPTX | `runExtraction` → Text/Table-Parts durch `_neutralizeText`, Bild-Parts durch `processImage` → PDF in-place oder Office-Renderer | -| Text, JSON, CSV, XML | `_neutralizeText` direkt (TextProcessor, ListProcessor, BinaryProcessor je nach Inhalt) | -| Bilder (image/*) | **`processImage`** → internes Vision-Modell (`NEUTRALIZATION_IMAGE`). Nicht verfügbar → blockieren. | -| Video, Audio | Nur internes Modell oder blockieren (analog Bilder, aber niedrigere Priorität) | -| Anderes Binary | Skip (nicht unterstützt) | - -**Mapping:** Platzhalter `[typ.uuid]` → Attribute in DB. `resolveText(text)` für Rückübersetzung. - ---- - -## 5. Modellauswahl - -| Operation Type | Modelle | Zweck | -|----------------|---------|-------| -| `NEUTRALIZATION_TEXT` | `poweron-text-general` (Rating 9) | Falls Engine ein LLM für Text braucht | -| `NEUTRALIZATION_IMAGE` | `poweron-vision-general` (9), `poweron-vision-deep` (9) | Medien bei Neutralisierungspflicht: nur intern | - -Registriert in `aicorePluginPrivateLlm.py`. Externe Provider haben keine `NEUTRALIZATION_*`-Ratings → werden nie für Neutralisierung gewählt. - ---- - -## 6. Fail-safe - -| Situation | Verhalten | -|-----------|-----------| -| Neutralisierung gefordert, Engine nicht verfügbar | Content **nicht** weiterverarbeiten (blockieren) | -| Neutralisierung eines Teils schlägt fehl | Teil entfernen, nicht im Rohzustand weiterleiten | -| Kein internes Modell für Medien verfügbar | Medien-Part entfernen | - ---- - -## 7. Code-Karte - -| Bereich | Pfad | -|---------|------| -| Engine | `features/neutralization/serviceNeutralization/mainServiceNeutralization.py` + `subProcess*.py` | -| Config + Attribute DB | `features/neutralization/datamodelFeatureNeutralizer.py`, `interfaceFeatureNeutralizer.py` | -| Index (Data-at-rest) | `serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py` | -| Prompt-Neutralisierung | `serviceCenter/services/serviceAi/mainServiceAi.py` (`_shouldNeutralize`, `_neutralizeRequest`) | -| Agent / DataSource / Feature | `serviceCenter/services/serviceAgent/mainServiceAgent.py` | -| Workflow-Aktion | `workflows/methods/methodContext/actions/neutralizeData.py` | -| Modelle / Enums | `datamodels/datamodelAi.py`, `aicore/aicorePluginPrivateLlm.py` | -| Flags | `datamodelFiles.py` (`FileItem.neutralize`), `datamodelDataSource.py`, `datamodelFeatureDataSource.py` | -| Context | `serviceCenter/context.py` (`ServiceCenterContext.requireNeutralization`) | - ---- - -## 8. Umsetzungsplan - -### Schritt 1: `processImage` in Engine bauen - -**Datei:** `mainServiceNeutralization.py` -**Was:** Neue Methode `processImage(imageBytes: bytes, fileName: str, mimeType: str) -> Dict` und `processImageAsync`. -**Wie:** Internes Vision-Modell aufrufen (`NEUTRALIZATION_IMAGE` via Model Selector / `aiObjects`). Prompt: sensible Inhalte im Bild erkennen und beschreiben, damit Caller entscheiden kann ob Bild blockiert wird. Kein internes Modell verfügbar → `{'status': 'blocked'}` zurückgeben. -**Abhängigkeit:** `OperationTypeEnum.NEUTRALIZATION_IMAGE` + Modell-Ratings in `aicorePluginPrivateLlm.py` — **bereits erledigt**. - -### Schritt 2: `_shouldNeutralize` vereinfachen - -**Datei:** `mainServiceAi.py` (Zeile ~560) -**Ist:** Prüft `request.requireNeutralization` → `context.requireNeutralization` → `NeutralizationConfig.enabled` (Mandant-Level Config). `request.requireNeutralization=False` bricht sofort ab. -**Soll:** Drei Quellen gemäss Abschnitt 2, kein `False`-Override: -1. Feature-Instanz: `NeutralizationConfig.enabled` (hat `featureInstanceId`) -2. Workflow/Session: `context.requireNeutralization` -3. Request: `request.requireNeutralization` - -Irgendein `True` → neutralisieren. `False` in einer Quelle hebt `True` in einer anderen **nicht** auf. -**Änderung:** `if request.requireNeutralization is False: return False` **entfernen**. Stattdessen OR-Verknüpfung aller drei Quellen. - -### Schritt 3: `_neutralizeRequest` auf Prompt/Messages beschränken - -**Datei:** `mainServiceAi.py` (Zeile ~592) -**Ist:** Neutralisiert `prompt`, `context`, `messages` (String-Content). -**Soll:** Zusätzlich Text in `contentParts` und Text-Teile in multimodalen Messages (content-Liste mit `type==text`). Bild-Teile in Messages: bei Neutralisierungspflicht über `processImage` prüfen oder entfernen. -**Wichtig:** Hier geht es nur um Prompt-/Sessiondaten. File-Content aus RAG ist bereits neutralisiert (Schritt 5), muss hier nicht nochmal durch. - -### Schritt 4: `indexFile` — Bild-Chunks behandeln - -**Datei:** `mainServiceKnowledge.py` (Zeile ~146 ff.) -**Ist:** Nur `textObjects` (contentType == "text") werden bei `_shouldNeutralize` durch `processText` geschickt. Bild-Chunks (`contentType == "image"`) werden unverändert indexiert. -**Soll:** Bild-Chunks bei `_shouldNeutralize` über `processImage` (Schritt 1) prüfen. Ergebnis `blocked` → Bild-Chunk nicht indexieren. Ergebnis OK → Bild-Chunk indexieren (internes Modell hat es gesehen, kein externer Provider nötig). -**Abhängigkeit:** Schritt 1. - -### Schritt 5: Agent-Tool `readFile` — Content bei Extraktion neutralisieren - -**Datei:** `mainServiceAgent.py`, Tool `_readFile` (Zeile ~540 ff.) -**Ist:** Liest aus Knowledge Store (bereits indexiert) oder extrahiert on-demand. Kein Neutralisierungs-Check. -**Soll:** -- **Knowledge Store Pfad (Zeile ~548):** RAG-Chunks sind bereits neutralisiert wenn `FileItem.neutralize=True` war (Schritt 4) → nichts zu tun. -- **On-Demand Extraktion (Zeile ~630 ff.):** Nach `runExtraction` und vor Rückgabe der Text-Objekte: `FileItem.neutralize` laden. Wenn `True` → Text-Objekte durch `processText`, Bild-Objekte durch `processImage`. - -### Schritt 6: Agent-Tool `summarizeContent` — File-Flag prüfen - -**Datei:** `mainServiceAgent.py`, Tool `_summarizeContent` (Zeile ~1921 ff.) -**Ist:** Liest Content-Objects aus Knowledge Store, baut `combinedText` und ruft `callAi` auf. Kein Neutralisierungs-Check. -**Soll:** Content aus Knowledge Store ist bereits neutralisiert (Schritt 4) → nichts zu tun, **sofern** File indexiert war. Wenn nicht indexiert: File-Flag prüfen, Text vor `callAi` durch `processText`. -**Hinweis:** Durch Schritt 4 ist der Regelfall abgedeckt. - -### Schritt 7: Agent-Tool `describeImage` — File-Flag prüfen - -**Datei:** `mainServiceAgent.py`, Tool `_describeImage` (Zeile ~2015 ff.) -**Ist:** Lädt Bild-Chunk oder Rohdaten, sendet per `callAi` mit `IMAGE_ANALYSE` an **beliebigen** Provider (inkl. extern). Kein Neutralisierungs-Check. -**Soll:** `FileItem.neutralize` laden (fileId ist bekannt). Wenn `True`: -- `operationType` auf `NEUTRALIZATION_IMAGE` statt `IMAGE_ANALYSE` → Model Selector wählt nur internes Modell. -- Kein internes Modell → Tool gibt Fehler zurück statt Bild an externen Provider zu senden. - -### Schritt 8: `_processBinaryFile` — Bild-Parts nicht mehr überspringen - -**Datei:** `mainServiceNeutralization.py` (Zeile ~298) -**Ist:** `if type_group in ('binary', 'image'): neutralized_parts.append(part); continue` — Bild-Parts werden übersprungen. -**Soll:** `binary` weiterhin skip. `image` → durch `processImage` (Schritt 1). Ergebnis `blocked` → Part entfernen. Ergebnis OK → Part behalten. -**Abhängigkeit:** Schritt 1. - -### Schritt 9: Workflow-Aktion `neutralizeData` — Bild-Parts - -**Datei:** `neutralizeData.py` (Zeile ~130 ff.) -**Ist:** Iteriert über ContentParts, neutralisiert nur Parts mit `part.data` (Text). `typeGroup != text/table` → unverändert durchgereicht. -**Soll:** Bild-Parts durch `processImage`. Ergebnis `blocked` → Part entfernen. -**Abhängigkeit:** Schritt 1. - -### Schritt 10: Tests - -| Test | Was | -|------|-----| -| T1 | `FileItem.neutralize=True` → `indexFile` → Text-Chunks neutralisiert, Bild-Chunks geprüft/blockiert | -| T2 | `readFile` on-demand auf File mit `neutralize=True` → Text neutralisiert | -| T3 | `describeImage` auf File mit `neutralize=True` → nur internes Modell | -| T4 | Feature-Instanz Config `enabled=True` → Prompt in `callAi` neutralisiert | -| T5 | Workflow `requireNeutralization=True` → Prompt neutralisiert | -| T6 | `processFile` auf PDF mit Bildern → Text neutralisiert, Bild-Parts durch `processImage` | -| T7 | Flag-Toggle → Index gelöscht → Re-Index im richtigen Zustand | - -### Schritt 11: Logging - -**Alle Stellen (Schritte 2–9):** Bei Neutralisierung loggen: welche Quelle (Feature-Instanz / Workflow / File-Flag), welche `fileId` falls vorhanden, Ergebnis (OK / Part entfernt / blockiert). **Kein Klartext** in Logs. diff --git a/e-compliance/security-overview.md b/e-compliance/security-overview.md deleted file mode 100644 index 0d72d31..0000000 --- a/e-compliance/security-overview.md +++ /dev/null @@ -1,369 +0,0 @@ -# PowerOn Plattform -- Sicherheit und Compliance - -**Stand:** Februar 2026 -**Zielgruppe:** Entscheidungsträger, Einkauf, Rechtsabteilung, Datenschutzbeauftragte -**Klassifizierung:** Kundeninformation - ---- - -## 1. Management Summary - -PowerOn ist eine **Multi-Mandanten-KI-Plattform für Unternehmen**, die es Organisationen ermöglicht, KI-gestützte Geschäftsprozesse sicher, datenschutzkonform und mandantengetrennt zu betreiben. Die Plattform richtet sich an mittlere bis grosse Unternehmen in datenschutzsensiblen Branchen wie Finanzwesen, Treuhand, Immobilien und Beratung. - -Dieses Dokument beschreibt die in PowerOn implementierten Sicherheits- und Datenschutzmassnahmen, ordnet diese gängigen Standards zu und benennt transparent bestehende Einschränkungen. - -**Kernaussagen:** - -- **DSGVO-Betroffenenrechte** (Auskunft, Löschung, Datenübertragbarkeit, Berichtigung) sind als Self-Service-Funktionen direkt in der Plattform implementiert. -- **Vollständige Mandantentrennung:** Daten eines Mandanten sind unter keinen Umständen für andere Mandanten einsehbar oder zugänglich. -- **Rollenbasierte Zugriffskontrolle (RBAC):** Jeder Datenzugriff wird gegen ein mehrstufiges Berechtigungssystem geprüft -- konfigurierbar pro Mandant und Funktionsmodul. -- **Verschlüsselung:** Sensible Konfigurationsdaten sind nach Industriestandard verschlüsselt, sämtliche Kommunikation erfolgt über verschlüsselte Verbindungen. -- **Audit-Trail:** Alle sicherheitsrelevanten Aktionen werden lückenlos protokolliert und stehen für Compliance-Nachweise zur Verfügung. -- **Transparenz bei KI-Nutzung:** Die Plattform dokumentiert offen, welche Daten an KI-Dienste übermittelt werden, und bietet Konfigurationsoptionen für höchste Datenschutzanforderungen. - ---- - -## 2. DSGVO-Konformität - -PowerOn implementiert die zentralen Betroffenenrechte der Datenschutz-Grundverordnung (DSGVO/GDPR) direkt als Plattformfunktionen. Im Folgenden wird für jeden relevanten Artikel beschrieben, was implementiert ist und wo Einschränkungen bestehen. - -### 2.1 Auskunftsrecht (Art. 15 DSGVO) - -Nutzer können über eine Self-Service-Funktion sämtliche über sie gespeicherten Daten exportieren: - -- Persönliche Profildaten (Name, E-Mail, Spracheinstellungen) -- Mandatszugehörigkeiten und zugewiesene Rollen -- Zugriffsrechte auf Funktionsmodule -- Erstellte und eingelöste Einladungen -- Zeitpunkte der Kontoerstellung und letzten Anmeldung - -Der Export umfasst alle auf Plattformebene gespeicherten Daten. Feature-spezifische Daten (z.B. Chat-Verläufe, Treuhandpositionen) können über die jeweiligen Funktionsmodule eingesehen werden. - -**Status: Implementiert.** - -### 2.2 Recht auf Löschung (Art. 17 DSGVO) - -Nutzer können ihr Konto und alle zugehörigen Daten eigenständig und unwiderruflich löschen. Dabei gilt: - -- Das System durchsucht automatisch alle Datenbanken (Plattform, Verwaltung, Chat, alle Funktionsmodule) nach Einträgen, die dem Nutzer zugeordnet sind. -- Nutzerbezogene Daten werden vollständig gelöscht. -- Audit-Logs werden anonymisiert statt gelöscht -- dies gewährleistet die Einhaltung gesetzlicher Aufbewahrungspflichten bei gleichzeitiger Wahrung der Betroffenenrechte. -- Die Löschung erfordert eine explizite Bestätigung durch den Nutzer. -- Systemadministratoren sind von der Selbstlöschung ausgenommen (Vier-Augen-Prinzip). - -**Status: Implementiert.** - -### 2.3 Recht auf Datenübertragbarkeit (Art. 20 DSGVO) - -Nutzerdaten können in einem maschinenlesbaren, standardisierten Format (JSON-LD nach schema.org) exportiert werden. Dieses Format ermöglicht die Übertragung der Daten an einen anderen Dienstleister. - -**Status: Implementiert.** - -### 2.4 Berichtigungsrecht (Art. 16 DSGVO) - -Nutzer können ihre Profildaten (Name, E-Mail, Spracheinstellungen) jederzeit selbst korrigieren. - -**Status: Implementiert.** - -### 2.5 Transparenz und Informationspflicht - -Die Plattform stellt Nutzern aktiv Informationen über die Datenverarbeitung bereit: - -- Welche Daten erhoben werden -- Zu welchem Zweck die Verarbeitung erfolgt -- Auf welcher Rechtsgrundlage die Verarbeitung basiert -- Welche Aufbewahrungsfristen gelten -- Welche Betroffenenrechte bestehen und wie sie ausgeübt werden können - -**Status: Implementiert.** - -### 2.6 Bekannte Einschränkungen - -Die folgenden Punkte sind transparent zu benennen: - -- **Consent-Management:** Die Plattform verfügt derzeit über kein granulares Einwilligungsmanagement mit individuellen Zustimmungs-Toggles. Die Einwilligung zur Datenverarbeitung erfolgt über die Nutzungsbedingungen und, bei Drittanbieter-Authentifizierung (Microsoft, Google), über die jeweiligen OAuth-Einwilligungsflüsse. -- **Datenschutz-Kontaktadresse:** Die Kontaktadresse für Datenschutzanfragen ist pro Deployment konfigurierbar und muss vom jeweiligen Betreiber hinterlegt werden. - ---- - -## 3. Mandantenmodell und Datenisolation - -### 3.1 Grundprinzip - -PowerOn ist als Multi-Mandanten-Plattform konzipiert. Jede Organisation, Abteilung oder jeder Kunde wird als eigenständiger **Mandant** abgebildet. Das zentrale Sicherheitsversprechen: - -> **Daten eines Mandanten sind unter keinen Umständen für Nutzer anderer Mandanten sichtbar oder zugänglich.** - -### 3.2 Wie die Trennung funktioniert - -- **Zugehörigkeitsprüfung bei jedem Zugriff:** Bevor ein Nutzer auf Mandantendaten zugreifen kann, prüft die Plattform, ob eine aktive Mitgliedschaft des Nutzers in diesem Mandanten besteht. Ohne nachgewiesene Mitgliedschaft wird der Zugriff verweigert. -- **Kein mandantenübergreifender Datenfluss:** Datenbankabfragen werden automatisch auf den Mandantenkontext gefiltert. Es gibt keinen Mechanismus, der Daten mandantenübergreifend zusammenführt oder exponiert. -- **Feature-Isolation:** Innerhalb eines Mandanten werden Funktionsmodule (z.B. CommCoach, Treuhand, Immobilien) zusätzlich isoliert. Nutzer benötigen für jedes Funktionsmodul eine explizite Zugriffsberechtigung. - -### 3.3 Mehrfachmandanten - -Nutzer können gleichzeitig in mehreren Mandanten arbeiten -- ein häufiges Szenario bei Beratern, Treuhändern oder Dienstleistern mit mehreren Kunden. Die Plattform stellt sicher: - -- Der Mandantenkontext wird pro Anfrage bestimmt, nicht pro Sitzung. Ein Wechsel zwischen Mandanten ist jederzeit möglich, ohne dass Daten vermischt werden. -- Es findet keine Übertragung von Daten, Berechtigungen oder Einstellungen zwischen Mandanten statt. - -### 3.4 Schutz vor Manipulation - -Auch bei technischem Wissen über die Plattformarchitektur ist ein unbefugter Zugriff auf fremde Mandantendaten nicht möglich: Die Zugehörigkeitsprüfung erfolgt serverseitig und kann nicht durch Manipulation von Anfrageparametern umgangen werden. - ---- - -## 4. Rollenbasierte Zugriffskontrolle (RBAC) - -### 4.1 Berechtigungsmodell - -PowerOn verfügt über ein feingliedriges, rollenbasiertes Berechtigungssystem. Für jede Aktion (Lesen, Erstellen, Bearbeiten, Löschen) können individuelle Berechtigungsstufen vergeben werden: - -| Berechtigungsstufe | Beschreibung | -|---|---| -| Kein Zugriff | Funktion ist nicht verfügbar | -| Eigene Daten | Zugriff nur auf selbst erstellte Einträge | -| Mandantendaten | Zugriff auf alle Daten innerhalb des eigenen Mandanten | -| Alle Daten | Vollzugriff (typischerweise für Administratoren) | - -### 4.2 Konfigurierbarkeit - -- Rollen können **pro Mandant** und **pro Funktionsmodul** definiert und zugewiesen werden. -- Es gibt keine fest verdrahteten Berechtigungen -- jede Organisation kann das Rollenmodell an ihre Bedürfnisse anpassen. -- Berechtigungsänderungen werden im Audit-Trail protokolliert. - -### 4.3 Administratoren - -Systemadministratoren verfügen über erweiterte Rechte, unterliegen jedoch ebenfalls dem RBAC-System. Alle Administratoraktionen werden gesondert im Audit-Log festgehalten. Es gibt kein unkontrolliertes "Superuser"-Konto ohne Nachvollziehbarkeit. - ---- - -## 5. Verschlüsselung und Datensicherheit - -### 5.1 Verschlüsselung ruhender Daten - -Alle sensiblen Konfigurationsdaten werden verschlüsselt gespeichert: - -- **Verschlüsselungsverfahren:** AES-Verschlüsselung (Fernet) -- **Schlüsselableitung:** PBKDF2-HMAC-SHA256 nach aktuellem Industriestandard -- **Umfang:** Datenbankpasswörter, API-Schlüssel für KI-Dienste, OAuth-Geheimnisse, JWT-Schlüssel und alle weiteren als "SECRET" gekennzeichneten Konfigurationswerte - -Sensible Konfigurationsdaten liegen zu keinem Zeitpunkt im Klartext in der Konfiguration oder im Quellcode vor. - -### 5.2 Verschlüsselung in Übertragung - -- Sämtliche Kommunikation zwischen Client und Server erfolgt über HTTPS/TLS. -- Verbindungen zu Drittdiensten (KI-Anbieter, Authentifizierungsdienste, E-Mail-Dienste) nutzen ebenfalls ausschliesslich verschlüsselte Verbindungen. -- Die TLS-Konfiguration erfolgt auf Infrastruktur-Ebene (Azure / Reverse Proxy) -- dies entspricht dem Branchenstandard bei Cloud-Deployments und ermöglicht zentrale Verwaltung und Aktualisierung der Zertifikate. - -### 5.3 Zugriffskontrolle auf Verschlüsselungsschlüssel - -- Der Zugriff auf Verschlüsselungsschlüssel ist auf das Minimum beschränkt. -- Jeder Zugriff auf Verschlüsselungsfunktionen (Entschlüsselung, Neuverschlüsselung) wird im Audit-Trail protokolliert. -- Eine Ratenbegrenzung schützt vor automatisierten Entschlüsselungsversuchen. - ---- - -## 6. Schutzmassnahmen gegen Angriffe - -PowerOn implementiert Schutzmassnahmen gegen die gängigsten Angriffsvektoren für Webanwendungen: - -### 6.1 Cross-Site Request Forgery (CSRF) - -Alle datenverändernden Operationen (POST, PUT, DELETE, PATCH) erfordern einen `X-CSRF-Token` Header. Die aktuelle Implementierung validiert das Tokenformat (16-64 Zeichen Hex-String); es gibt kein serverseitiges Session-Binding (kein klassisches Double-Submit oder Synchronizer Token). In Kombination mit `SameSite=Strict` Cookies und CORS bietet dies Basisschutz gegen CSRF. - -### 6.2 Ratenbegrenzung (Rate Limiting) - -Jede API-Funktion ist mit individuellen Zugriffslimits versehen, die automatisierte Angriffe und Missbrauch unterbinden: - -| Funktion | Limit | -|---|---| -| Anmeldung | 30 Versuche pro Minute | -| Datenexport (DSGVO) | 5 Anfragen pro Minute | -| Kontolöschung | 1 Anfrage pro Stunde | -| KI-Anfragen | 120 Anfragen pro Minute | -| Datei-Upload | 10 Uploads pro Minute | - -### 6.3 Eingabebereinigung - -Nutzereingaben werden bereinigt und validiert, bevor sie an KI-Modelle oder Datenbanken weitergeleitet werden. Dies schützt vor Prompt-Injection-Angriffen und anderen Manipulationsversuchen. - -### 6.4 SQL-Injection-Schutz - -- Alle Datenbankabfragen der Plattform verwenden parametrisierte Abfragen -- der Industriestandard zur Vermeidung von SQL-Injection. -- Der KI-gestützte Datenbankzugriff ist zusätzlich auf reine Leseabfragen (SELECT) beschränkt. Schreibende, ändernde oder löschende Operationen sind auf Systemebene blockiert. - -### 6.5 Cross-Origin Resource Sharing (CORS) - -Nur definierte und verifizierte Quelldomains erhalten Zugriff auf die Plattform-API. Anfragen von nicht autorisierten Quellen werden automatisch abgelehnt. - ---- - -## 7. KI-Dienste und Datenverarbeitung - -Transparenz im Umgang mit KI-Diensten ist für datenschutzbewusste Organisationen entscheidend. PowerOn legt offen, wie Daten im Kontext der KI-Nutzung verarbeitet werden. - -### 7.1 Welche Daten werden verarbeitet - -Im Rahmen der KI-gestützten Funktionen (KI-Assistent, Workflow-Verarbeitung, Dokumentenanalyse) können folgende Daten an KI-Dienste übermittelt werden: - -- Nutzeranfragen und -eingaben -- Dokumentinhalte (bei Dokumentenanalyse) -- Gesprächsverläufe (bei Chat-Funktionen) - -### 7.2 Welche KI-Anbieter werden genutzt - -PowerOn unterstützt mehrere KI-Anbieter, die je nach Bedarf und Konfiguration eingesetzt werden: - -- **OpenAI** (GPT-4o und weitere Modelle) -- **Anthropic** (Claude-Modelle) -- **Tavily** (Websuche) -- **Private LLM** (lokale/eigene Modelle -- kein externer Datenabfluss) - -Die Auswahl des Anbieters ist konfigurierbar und kann an die Datenschutzanforderungen des Kunden angepasst werden. - -### 7.3 Mandantentrennung bei KI-Anfragen - -Jede KI-Anfrage erfolgt im Kontext des jeweiligen Mandanten. Es findet keine Vermischung von Daten verschiedener Mandanten in KI-Anfragen statt. - -### 7.4 Kein Training mit Kundendaten - -Bei Nutzung der Enterprise-API-Vereinbarungen der KI-Anbieter (OpenAI Enterprise API, Anthropic API) werden Kundendaten nicht für das Training der KI-Modelle verwendet. Dies ist vertraglich durch die Auftragsverarbeitungsvereinbarungen (AV-V / DPA) mit den jeweiligen Anbietern abgesichert. - -### 7.5 Optionen für höchste Datenschutzanforderungen - -Für Organisationen mit besonders hohen Datenschutzanforderungen bietet PowerOn: - -- **Datenschutz-Neutralisierer:** Optionales Modul, das personenbezogene Daten vor der Übermittlung an externe KI-Dienste entfernt oder pseudonymisiert. -- **Private-LLM-Anbindung:** Möglichkeit, ein eigenes, lokal betriebenes Sprachmodell zu nutzen. In diesem Fall verlassen keine Daten die eigene Infrastruktur. - -### 7.6 Bekannte Einschränkung - -Die automatische Erkennung und Filterung personenbezogener Daten (PII) vor dem Versand an externe KI-Dienste ist **nicht standardmässig aktiviert**. Organisationen, die mit besonders sensiblen personenbezogenen Daten arbeiten, sollten den Datenschutz-Neutralisierer nutzen oder den Private-LLM-Connector einsetzen. - ---- - -## 8. Audit-Trail und Nachvollziehbarkeit - -### 8.1 Was wird protokolliert - -Sämtliche sicherheitsrelevanten Aktionen werden automatisch und lückenlos in einem Audit-Log erfasst: - -| Kategorie | Beispiele | -|---|---| -| Zugriff | Anmeldungen, fehlgeschlagene Anmeldeversuche, Abmeldungen | -| Sicherheit | Administratoraktionen, SysAdmin-Zugriffe, Sicherheitsereignisse | -| Datenschutz (DSGVO) | Datenexporte, Kontolöschungen, Portabilitätsanfragen | -| Berechtigungen | Rollenzuweisungen, Berechtigungsänderungen | -| Verschlüsselung | Zugriffe auf Verschlüsselungsfunktionen | -| Datenoperationen | Zugriffe auf sensible Geschäftsdaten | - -### 8.2 Aufbewahrung und Bereinigung - -- **Standard-Aufbewahrungsdauer:** 365 Tage (konfigurierbar) -- **Automatische Bereinigung:** Veraltete Einträge werden durch einen täglichen Prozess entfernt -- dies stellt sicher, dass Audit-Daten nicht unbefristet aufbewahrt werden (DSGVO-Konformität). -- **Anonymisierung:** Bei der Löschung eines Nutzerkontos werden zugehörige Audit-Einträge anonymisiert statt gelöscht. Die Nachvollziehbarkeit sicherheitsrelevanter Ereignisse bleibt gewahrt, ohne dass Rückschlüsse auf die gelöschte Person möglich sind. - -### 8.3 Nutzung für Compliance-Nachweise - -Die Audit-Daten können als Nachweis für interne und externe Audits herangezogen werden. Sie dokumentieren, wer wann welche sicherheitsrelevante Aktion durchgeführt hat, und unterstützen damit die Anforderungen an die Rechenschaftspflicht nach Art. 5 Abs. 2 DSGVO. - ---- - -## 9. Einordnung in gängige Standards - -PowerOn orientiert sich an anerkannten Standards und Rahmenwerken. Die folgende Einordnung beschreibt transparent, welche Anforderungen die Plattform bereits abdeckt und wo Ergänzungen erforderlich sind. - -### 9.1 DSGVO / GDPR - -| Anforderung | Status | Bemerkung | -|---|---|---| -| Betroffenenrechte (Art. 15--17, 20) | Implementiert | Auskunft, Löschung, Portabilität, Berichtigung als Self-Service | -| Rechenschaftspflicht (Art. 5 Abs. 2) | Implementiert | Lückenloser Audit-Trail | -| Verzeichnis der Verarbeitungstätigkeiten (Art. 30) | Unterstützt | Audit-Log liefert die Datenbasis; das formale Verzeichnis muss vom Betreiber geführt werden | -| Technische und organisatorische Massnahmen (Art. 32) | Implementiert | Verschlüsselung, Zugriffskontrolle, Mandantentrennung, Eingabevalidierung | -| Einwilligungsmanagement (Art. 7) | Teilweise | Über Nutzungsbedingungen und OAuth; kein granulares Consent-Tool | - -### 9.2 Schweizer Datenschutzgesetz (nDSG / revDSG) - -Die Anforderungen des revidierten Schweizer Datenschutzgesetzes sind mit den DSGVO-Massnahmen kompatibel. Insbesondere: - -- Informationspflicht bei Datenerhebung: Transparenzfunktion implementiert -- Recht auf Datenherausgabe und -löschung: Self-Service-Funktionen vorhanden -- Pflicht zu angemessenen technischen Massnahmen: Verschlüsselung, RBAC, Mandantentrennung - -### 9.3 OWASP Top 10 - -Die Plattform adressiert die häufigsten Web-Sicherheitsrisiken gemäss OWASP: - -| OWASP-Risiko | Massnahme in PowerOn | -|---|---| -| Broken Access Control | Rollenbasierte Zugriffskontrolle, Mandantenprüfung bei jedem Zugriff | -| Cryptographic Failures | AES-Verschlüsselung, PBKDF2-Schlüsselableitung, HTTPS/TLS | -| Injection | Parametrisierte Datenbankabfragen, Eingabebereinigung, SQL-Leseeinschränkung | -| Security Misconfiguration | CORS-Einschränkungen, Rate Limiting, CSRF-Schutz | -| Identification and Authentication Failures | JWT-basierte Authentifizierung, Token-Widerruf, Ratenbegrenzung bei Anmeldung | - -Es besteht **keine formale OWASP-Zertifizierung**. Die Massnahmen basieren auf den OWASP-Empfehlungen und sind als präventive Sicherheitsmassnahmen implementiert. - -### 9.4 ISO 27001 / BSI IT-Grundschutz - -Die implementierten technischen und organisatorischen Massnahmen (Zugriffskontrolle, Verschlüsselung, Audit-Logging, Eingabevalidierung, Mandantentrennung) bilden eine **solide Grundlage** für ein Informationssicherheits-Managementsystem (ISMS) nach ISO 27001 oder BSI IT-Grundschutz. - -Es besteht **keine formale Zertifizierung**. Die vorhandene Infrastruktur ermöglicht es jedoch, eine Zertifizierung auf dieser Basis gezielt anzustreben. - ---- - -## 10. Authentifizierung und Identitätsmanagement - -### 10.1 Anmeldemethoden - -PowerOn unterstützt mehrere Authentifizierungsverfahren: - -- **Lokale Anmeldung:** Benutzername und Passwort mit JWT-basierter Sitzungsverwaltung -- **Microsoft-Anmeldung (Azure AD / Entra ID):** Single Sign-On über bestehende Microsoft-Konten -- **Google-Anmeldung:** Single Sign-On über Google Workspace - -### 10.2 Sitzungssicherheit - -- Authentifizierungstoken werden in sicheren, HTTP-only Cookies gespeichert (nicht im Browser-Speicher zugänglich) -- Tokens haben eine konfigurierbare Gültigkeitsdauer -- Token-Widerruf ist jederzeit möglich (z.B. bei Verdacht auf Kompromittierung) -- Bei lokaler Anmeldung wird die Gültigkeit des Tokens zusätzlich gegen die Datenbank geprüft - -### 10.3 Automatische Token-Erneuerung - -Authentifizierungstoken werden automatisch erneuert, bevor sie ablaufen. Dies gewährleistet eine unterbrechungsfreie Nutzung bei gleichzeitiger Begrenzung der Token-Gültigkeitsdauer. - ---- - -## 11. Offene Punkte und Empfehlungen - -Transparenz schafft Vertrauen. Die folgenden Punkte sind offen benannt, damit Kunden und Betreiber informierte Entscheidungen treffen können. - -| Thema | Status | Empfehlung | -|---|---|---| -| Granulares Consent-Management | Nicht vorhanden | Falls regulatorisch erforderlich, als separates Modul ergänzen | -| PII-Filterung vor KI-Versand | Nicht standardmässig aktiv | Datenschutz-Neutralisierer aktivieren oder Private LLM einsetzen | -| Security-Header (CSP, HSTS) | Auf Infrastruktur-Ebene | Konfiguration auf Reverse-Proxy-Ebene dokumentieren und prüfen | -| Datenschutz-Kontaktadresse | Platzhalter | Pro Deployment mit tatsächlicher DSB-Kontaktadresse konfigurieren | -| Formale Zertifizierungen | Keine vorhanden | ISO 27001 / BSI auf Basis der vorhandenen Massnahmen anstrebbar | - ---- - -## 12. Zusammenfassung - -PowerOn vereint Enterprise-KI-Funktionalität mit einem umfassenden Sicherheits- und Datenschutzkonzept. Die Plattform bietet: - -- **DSGVO-konforme Betroffenenrechte** als Self-Service-Funktionen -- **Vollständige Mandantentrennung** mit serverseitiger Zugehörigkeitsprüfung -- **Feingliedriges Berechtigungssystem** mit individuell konfigurierbaren Rollen -- **Verschlüsselung nach Industriestandard** für ruhende und übertragene Daten -- **Lückenlosen Audit-Trail** für Compliance-Nachweise -- **Transparente KI-Datenverarbeitung** mit Optionen für höchste Datenschutzanforderungen - -Gleichzeitig werden bestehende Einschränkungen offen kommuniziert und Empfehlungen für ergänzende Massnahmen gegeben. Diese Kombination aus implementierter Sicherheit und transparenter Kommunikation bildet die Grundlage für eine vertrauensvolle Zusammenarbeit. - ---- - -*Dieses Dokument basiert auf einer Analyse der PowerOn-Plattform (Stand Februar 2026). Alle beschriebenen Massnahmen sind in der Plattform implementiert und wurden anhand der Codebasis verifiziert. Angaben ohne Gewähr -- für verbindliche Zusicherungen gelten die jeweiligen Vertragsvereinbarungen.*